一本通案例解析——2046:【例5.15】替換字母
【題目描述】
在應(yīng)用計算機(jī)編輯文檔的時候,我們經(jīng)常遇到替換任務(wù)。如把文檔中的“電腦”都替換成“計算機(jī)”?,F(xiàn)在請你編程模擬一下這個操作。
【輸入】
輸入兩行內(nèi)容,第1行是原文(長度不超過200200個字符),第22行包含以空格分隔的兩個字符AA和BB,要求將原文中所有的字符AA都替換成字符BB,注意:區(qū)分大小寫字母。
【輸出】
一行,輸出替換后的結(jié)果。
【輸入樣例】
I love China. I love Beijing. I U
【輸出樣例】
U love China. U love Beijing.
【分析及源代碼】
/*
將字符串存放到字符數(shù)組中 運用getchar() 獲取字符
按回車結(jié)束 字符的輸入
因字符的長度不定,所以運用無限循環(huán) while(1),當(dāng)遇到回車符‘\n’時,break 結(jié)束循環(huán)
輸出字符時,進(jìn)行判斷,如果a[i]與輸入的字符A 相同,則將B 賦值給 a[i]
*/
#include<bits/stdc++.h>
using namespace std;
char a[201];? //將字符串存放到字符數(shù)組中?
int main()
{
int n=1;
char A,B;?
while(1)? //遇到回車結(jié)束?
{
???????? 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;
}
標(biāo)簽: