首页 > 试题广场 >

牛牛的替换

[编程题]牛牛的替换
  • 热度指数:5470 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
牛牛有一个长度为 n 的字符数组,他尝试把字符数组中其中一些字符替换成另一些字符。

输入描述:
第一行输入一个正整数 n 表示字符数组的长度,四个个字符分别 a1 和 a2 , a3 和 a4,表示把字符数组中 a1 全部替换成 a2,然后把 a3 全部替换成 a4(包括a1替换后产生的a2等于a3的情况)
第二行输入一个长度为 n 的字符数组。


输出描述:
输出替换后的字符数组
示例1

输入

5 a b l i
fklwa

输出

fkiwb
示例2

输入

8 a o d e
nawcoder

输出

nowcoeer
#include<stdio.h>
int main() {
    int n = 0;
    char a1, a2, a3, a4, arr[100] = {0};
    scanf("%d %c %c %c %c",&n, &a1, &a2, &a3, &a4);
    scanf("%s", arr);
    for (int i = 0; i < n; i++) {
        if (arr[i] == a1)
            arr[i] = a2;
        if (arr[i] == a3)
            arr[i] = a4;
        printf("%c", arr[i]);
    }
    return 0;
}

发表于 2022-08-12 14:16:55 回复(0)
#include <stdio.h>

int main(){
    int n, i;
    char a, b, c, d, arr[21];
    scanf("%d %c %c %c %c\n%s", &n, &a, &b, &c, &d, arr);
    for(i = 0; i < n; i++)
        arr[i] = (arr[i] == a)? b : (arr[i] == c)? d : arr[i];
    printf("%s", arr);
    return 0;
}

发表于 2022-06-17 21:56:49 回复(0)
#include<iostream>
#include<string>
using namespace std;

int main() {
    int n;
    char a1, a2, a3, a4;
    cin >> n >> a1 >> a2 >> a3 >> a4;
    string s;
    cin >> s;
    for (int i = 0; i < n; ++i) {
        if (s[i] == a1) s[i] = a2;
    }
    for (int i = 0; i < n; ++i) {
        if (s[i] == a3) s[i] = a4;
    }
    cout << s;
    return 0;
}

发表于 2022-04-01 21:16:34 回复(0)
#include <iostream>
using namespace std;
// char s[1000];
int main()
{
    int n;
    char a1, a2, a3, a4;
    scanf("%d %c %c %c %c", &n, &a1, &a2, &a3, &a4);
    string s;
    cin >> s;
    for (int i = 0; i < n; i ++ )
        if (s[i] == a1) s[i] = a2;
    for (int i = 0; i < n; i ++ )
        if (s[i] == a3) s[i] = a4;
    for (int i = 0; i < n; i ++ ) printf("%c", s[i]);
}

发表于 2022-02-26 21:23:55 回复(0)
#include <stdio.h>

int main() {
    int n=0;
    scanf("%d",&n);
    char a1,a2,a3,a4;
    scanf(" %c %c %c %c",&a1,&a2,&a3,&a4);
    char arr[n+1];
    scanf("%s",&arr);
    for(int i=0;i<n;i++){
        if(arr[i]==a1){
            arr[i]=a2;
        }else if(arr[i]==a3){
            arr[i]=a4;
        }
    }
    printf("%s",arr);
    return 0;
}

发表于 2024-02-14 21:40:39 回复(0)
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int x=sc.nextInt();
        String a1=sc.next(),a2=sc.next(),a3=sc.next(),a4=sc.next();
        String[] arr=sc.next().split("");
        for(int i=0;i<x;i++){
            if(arr[i].equals(a1)) arr[i]=a2;
            if(arr[i].equals(a3)) arr[i]=a4;
        }
        for(String s:arr) System.out.print(s);
    }
}

发表于 2022-08-12 23:07:37 回复(0)
#include <iostream>
using namespace std;

void T(int n, char a1, char a2, char a3, char a4 ) {
    char a[n];
    for (int i = 0; i < n; i++) {
        cin >> a[i];
        if (a[i] == a1)  a[i] = a2;
        if (a[i] == a3)   a[i] = a4;  
        cout << a[i];
    }
}
    int main() {
        int n;
        char  a1, a2, a3, a4;
        cin >> n >> a1 >> a2 >> a3 >> a4;
        char a[n];
        T(n, a1, a2, a3, a4);
        return 0;
    }
发表于 2025-03-23 21:54:40 回复(0)
#include <stdio.h>

void instead(char arr1[],char arr2[],int n)
{
    for (int i=0; i<n; i++) {
        if (arr2[i]==arr1[0]) {
            arr2[i]=arr1[1];
        }
        else if (arr2[i]==arr1[2]) {
            arr2[i]=arr1[3];
        }
        printf("%c",arr2[i]);
    }
}

int main() {
    int n;
    scanf("%d ",&n);
    char arr1[3];
    for (int i=0; i<4; i++) {
        scanf("%c ",&arr1[i]);
    }
    char arr2[n];
    for (int i=0; i<n; i++) {
        scanf("%c ",&arr2[i]);
    }
   instead(arr1, arr2,n);  
    return 0;
}
发表于 2025-03-11 17:38:01 回复(0)
 Scanner in = new Scanner(System.in);
 in.nextInt();
 String a1 = in.next();
 String a2 = in.next();
 String a3 = in.next();
 String a4 = in.next();

 System.out.print(in.next().replaceAll(a1, a2).replaceAll(a3, a4));  // 调用api即可
String.replaceAll   降维打击  
发表于 2025-01-26 14:38:51 回复(0)
#include <stdio.h>
int main() {
    int n = 0;
    char a1, a2, a3, a4;
    scanf("%d %c %c %c %c", &n, &a1, &a2, &a3, &a4);
    char s[100] = { 0 };
    scanf("%s", s);
    switch (a2 == a3) {
        case 0: {
                for (int i = 0; i < n; i++) {
                    if (s[i] == a1) {
                        s[i] = a2;
                    }
                    if (s[i] == a3) {
                        s[i] = a4;
                    }
                }
                printf("%s", s);
                break;
            }
        case 1: {
                for (int i = 0; i < n; i++) {
                    if (s[i] == a1 || s[i] == a3) {
                        s[i] = a4;
                    }
                }
                printf("%s", s);
                break;
            }
    }
    return 0;
}
发表于 2025-01-17 20:16:49 回复(0)
#include <stdio.h>
#include <string.h>

void exchange(char ch[],char x,char y) //更换字符函数
{
    int i = 0;
    int sz = strlen(ch);  //求字符串长度
   for(i=0;i<sz;i++)      //对比更换
   {
      if(ch[i]==x)
      {
        ch[i]=y;
      }
   }
}
void my_scanf(char ch[],int n) //录入原始字符
{
    int i = 0;
  for(i=0;i<n;i++)
  {
    scanf("%c",&ch[i]);
  }
}
int main()
{
    int n = 0;
    char a1;
    char a2;
    char a3;
    char a4;
    scanf("%d %c %c %c %c\n",&n,&a1,&a2,&a3,&a4); //录入信息
    char ch[n];
    my_scanf(ch,n);
    exchange(ch,a1,a2);
    exchange(ch,a3,a4);
    printf("%s",ch); //输出
    return 0;
}

发表于 2024-12-26 14:26:23 回复(0)
#include <stdio.h>
int a1,a2,a3,a4;
void str_cat(char str[]){
    int i=0;
    while(str[i]){
        if(str[i]==a1){
            str[i]=a2;
        }
        if(str[i]==a3){
            str[i]=a4;
        }
        i++;
    }
}
int main() {
    int n,i;
    char str[100];
    scanf("%d %c %c %c %c\n",&n,&a1,&a2,&a3,&a4);
    for(i=0;i<n;i++){
        scanf("%c",&str[i]);
    }
    str_cat(str);
    puts(str);
    return 0;
}
发表于 2024-11-30 13:52:55 回复(0)
num,a,b,l,i = map(str,input().split())
char = input().strip()
char = char.replace(a,b).replace(l,i)
print(char)

发表于 2024-09-27 18:14:47 回复(0)
#include <stdio.h>

int main() {
    int n;
    char a1,a2,a3,a4;
    scanf("%d",&n);
    getchar(); //吃掉多余的换行符
    scanf("%c %c %c %c ",&a1,&a2,&a3,&a4);

    char str[n];
    for (int i = 0; i < n; i++) {
        scanf("%c",&str[i]);
    }
    //开始替换 ,a1 换成 a2, a3 换成 a4
    for (int i = 0; i < n; i++) {
        if (str[i] == a1){
            str[i] = a2;
        }
        if (str[i] == a3){
            str[i] = a4;
        }
    }
    str[n] = '\0';
    printf("%s",str);

    return 0;
}
//
// Created by Wilbur Lee on 16/7/2024.
//

发表于 2024-07-16 20:37:21 回复(0)
#include <iostream>
using namespace std;
#include <cstring>
int main() 
{
    int a;
    char arry[4];
    char arry2[1000];
    cin >> a;
    for (int i = 0; i < 4; i++) 
    {
        cin >> arry[i];
    }
    for (int i = 0; i < a; i++) 
    {
        cin >> arry2[i];
        if (arry2[i] == arry[0]) 
        {
            arry2[i] = arry[1];
        }
        if (arry2[i] == arry[2]) 
        {
            arry2[i] = arry[3];
        }
        cout << arry2[i];
    }
    
}
// 64 位输出请用 printf("%lld")

发表于 2024-05-14 20:15:05 回复(0)
字符串替换
a = list(input().split())
b = input()
c = b.replace(a[-2],a[-1]).replace(a[-4],a[-3])
print(c)


发表于 2024-02-15 10:18:47 回复(0)
package main

import (
    "fmt"
)

func main() {
    var n int
    var a1,a2,a3,a4 byte
    fmt.Scanf("%d %c %c %c %c\n",&n,&a1,&a2,&a3,&a4)
    for i:=0;i<n;i++{
        var c byte
        fmt.Scanf("%c",&c)
        if c == a1 {
            fmt.Printf("%c", a2)
        } else if c == a3 {
            fmt.Printf("%c", a4)
        } else {
            fmt.Printf("%c", c)
        }
    }
}
编辑于 2023-12-22 21:45:43 回复(0)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
    int n = 0;
    scanf("%d", &n);
    char arr[100] = { '0' };
    for (int i = 1; i <= 5; i++)
    {
        scanf("%s", &arr[i]);
    }
    int a = 5;
    while (arr[a])
    {
        if (arr[a] == arr[1])
        {
            arr[a] = arr[2];
        }
        if (arr[a] == arr[3])
        {
            arr[a] = arr[4];
        }
        a++;
    }
    int b = 5;
    while (arr[b])
    {
        printf("%c", arr[b]);
        b++;
    }
    return 0;
}
发表于 2023-12-08 13:01:34 回复(0)
#include <stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    getchar();
    int i;
    char a1,a2,a3,a4;
    scanf("%c %c %c %c",&a1,&a2,&a3,&a4);
    getchar();
    char arr[n];
    for(i=0;i<n;i++)
    {
        scanf("%c",arr+i);
    }
    for(i=0;i<n;i++)
    {
        if(arr[i]==a1)
        {
            arr[i] = a2;
        }
        if(arr[i]==a3)
        {
            arr[i] = a4;
        }
        printf("%c",arr[i]);
    }
    return 0;
}

发表于 2023-12-01 10:14:42 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int n = in.nextInt();
        String[] r = new String[4];
        for (int i = 0; i < 4; i++) {
            r[i] =  in.next();
        }
        String[] d = in.next().split("");
        for (int i = 0; i < d.length; i++) {
            if (d[i].equals(r[0]) ) {
                d[i] = r[1];
            }
            if (d[i].equals( r[2])) {
                d[i] = r[3];
            }
            System.out.print(d[i]);
        }
    }
}

发表于 2023-11-24 16:17:55 回复(0)