题解 | #牛牛的替换#
牛牛的替换
https://www.nowcoder.com/practice/f2a107dbb99243798d3048a672e8f747
#include <stdio.h>
#include <stdlib.h>
/*第一行输入一个正整数 n 表示字符数组的长度,四个个字符分别 a1 和 a2 , a3 和 a4,表示把字符数组中 a1 全部替换成 a2,然后把 a3 全部替换成 a4(包括a1替换后产生的a2等于a3的情况)
第二行输入一个长度为 n 的字符数组。*/
int main()
{
int n,i;
char a1,a2,a3,a4;
scanf("%d %c %c %c %c",&n,&a1,&a2,&a3,&a4);
char*str=(char*)malloc(n*sizeof(char));//用malloc创建一个存放字符的空间,n个字符的长度的大小的空间
for(int i=0;i<n;i++)
{
scanf("%s",str);//循环输入网字符串数组内,我们提供一个数组名就行了
}
for(int i=0;i<n;i++)
{
if(str[i]==a1)
{
str[i]=a2;
}
if(str[i]==a3)
{
str[i]=a4;
}
printf("%c",str[i]);//将新数组打印出来,这里是%c而不是%s,因为str[i]是数组中的一个元素
}
free(str);//将动态空间进行释放
str=NULL;
return 0;
}
/*
还有一种方法就是直接将这个最后的打印放在循环外面,
printf("%s",str);直接提供数组名,让他打印字符串*/
查看7道真题和解析