列表

详情


BC163. 牛牛的替换

描述

牛牛有一个长度为 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

原站题解

C 解法, 执行用时: 2ms, 内存消耗: 300KB, 提交时间: 2022-03-13

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

C 解法, 执行用时: 2ms, 内存消耗: 300KB, 提交时间: 2022-03-12

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n=0;
    char a1=' ',a2=' ',a3=' ',a4=' ';
    scanf("%d %c %c %c %c",&n,&a1,&a2,&a3,&a4);
    char*p=(char*)malloc(n+1);
    char*p1=p,*p2=p;
    scanf("%s",p);
    for(int i=0;i<n+1;i++)
    {
        if(i>=0&&i<n)
        {
            if(*p1==a1)
                *p1=a2;
            p1++;
        }
        if (i>0&&i<n+1)
        {
            if(*p2==a3)
                *p2=a4;
            p2++;
        }
    }
    printf("%s",p);
    free(p);
    p=NULL;
    return 0;
}

C 解法, 执行用时: 2ms, 内存消耗: 304KB, 提交时间: 2022-07-20

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

C 解法, 执行用时: 2ms, 内存消耗: 304KB, 提交时间: 2022-06-13

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n=0;
    char a1=' ',a2=' ',a3=' ',a4=' ';
    scanf("%d %c %c %c %c",&n,&a1,&a2,&a3,&a4);
    char *p;
    p=(char*)malloc(n+1);
    char*p1=p;
    char*p2=p;
    scanf("%s",p);
    for(int i=0;i<n+1;i++)
    {
        if(i>0&&i<=n)
        {
            if(*p1==a1)
                *p1=a2;
            p1++;
        }
        if (i>0&&i<=n)
        {
            if(*p2==a3)
                *p2=a4;
            p2++;
        }
    }
    printf("%s",p);
    free(p);
    p=NULL;
    return 0;
}

C 解法, 执行用时: 2ms, 内存消耗: 304KB, 提交时间: 2022-05-19

#include<stdio.h>
#include<string.h>
int main()
{
    int n;
    char a,b,c,d;
    char arr[100];
    scanf("%d %c %c %c %c",&n,&a,&b,&c,&d);
    getchar();
    for(int i=0;i<n;i++)
    {
        scanf("%c",&arr[i]);
    }
    for(int i=0;i<n;i++)
    {
        if(arr[i]==a)
        {
            arr[i]=b;
        }
        if(arr[i]==c)
        {
            arr[i]=d;
        }
        printf("%c",arr[i]);
    }
    return 0;
}

上一题