一本通案例解析——2046:【例5.15】替换字母
【题目描述】
在应用计算机编辑文档的时候,我们经常遇到替换任务。如把文档中的“电脑”都替换成“计算机”。现在请你编程模拟一下这个操作。
【输入】
输入两行内容,第1行是原文(长度不超过200200个字符),第22行包含以空格分隔的两个字符AA和BB,要求将原文中所有的字符AA都替换成字符BB,注意:区分大小写字母。
【输出】
一行,输出替换后的结果。
【输入样例】
I love China. I love Beijing. I U
【输出样例】
U love China. U love Beijing.
【分析及源代码】
/*
将字符串存放到字符数组中 运用getchar() 获取字符
按回车结束 字符的输入
因字符的长度不定,所以运用无限循环 while(1),当遇到回车符‘\n’时,break 结束循环
输出字符时,进行判断,如果a[i]与输入的字符A 相同,则将B 赋值给 a[i]
*/
#include<bits/stdc++.h>
using namespace std;
char a[201]; //将字符串存放到字符数组中
int main()
{
int n=1;
char A,B;
while(1) //遇到回车结束
{
a[n]=getchar();
if (a[n]=='\n') break;
n++;
}
A=getchar(); getchar(); B=getchar(); //输入要查找和替换的字符,中间是空格
for (int i=1;i<n;i++)
{
if(a[i]==A) a[i]=B; //如果a[i]与输入的字符A 相同,则将B 赋值给 a[i]
cout<<a[i];
}
return 0;
}