首页 > 试题广场 >

牛牛的替换

[编程题]牛牛的替换
  • 热度指数: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;
    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)
#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 <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)
#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)
#include <stdio.h>

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

发表于 2022-11-17 11:53:00 回复(0)
//这个哪里出了问题啊

#include <stdio.h>
#include<malloc.h>
int main() {
    int n;
    scanf("%d", &n);
    getchar();
    char arr1[4] = { 0 };
    char* arr2 = (char*)malloc(n * sizeof(char));
    for (int i = 0; i < 4; i++)
    {
        scanf("%c ", &arr1[i]);

    }
    for (int i = 0; i < n; i++)
    {
        scanf("%c", arr2 + i);


        if (*(arr2 + i) == arr1[0])
        {
            *(arr2 + i) = arr1[1];
        }
        else if (*(arr2 + i) == arr1[2])
        {
            *(arr2 + 2) = arr1[3];
        }

    }
    printf("%s", arr2);

    free(arr2);
    arr2 = NULL;
    return 0;
}




发表于 2022-11-06 20:39:35 回复(0)
#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>
#include <string.h>
int main()
{
    int n;
    char a1, a2, a3, a4, a[20];
    scanf("%d %c %c %c %c", &n, &a1, &a2, &a3, &a4);
    getchar();
    gets(a);
    for(int i = 0; i < strlen(a); i++)
    {
        if(a[i] == a1)
            a[i] = a2;
        else if (a[i] == a3)
            a[i] = a4;
    }
    printf("%s", a);
    return 0;
}

发表于 2022-07-07 12:55:58 回复(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<stdio.h>
int main()
{
    int n = 0;
    char a1,a2,a3,a4;
    scanf("%d %c %c %c %c",&n,&a1,&a2,&a3,&a4);
    getchar();
    char arr[n];
    scanf("%s",&arr);
    getchar();
    int i = 0;
    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;
}

发表于 2022-03-20 21:52:30 回复(0)
#include<stdio.h>
int main(void)
{
    int n;
    char a1,a2,a3,a4;
    scanf("%d %c %c %c %c",&n,&a1,&a2,&a3,&a4);
    char str[100];
    getchar();
    for(int i=0;i<n;i++){
        scanf("%c",&str[i]);
        if(str[i]==a1){str[i]=a2;}
        if(str[i]==a3){str[i]=a4;}
    }
    puts(str);
}
发表于 2022-03-14 21:23:03 回复(0)