【題目描述】
在應用計算機編輯文檔的時候,我們經常遇到替換任務。如把文檔中的“電腦”都替換成“計算機”。現在請你編程模擬一下這個操作。
【輸入】
輸入兩行內容,第1行是原文(長度不超過200200個字符),第22行包含以空格分隔的兩個字符AA和BB,要求將原文中所有的字符AA都替換成字符BB,注意:區分大小寫字母。
【輸出】
一行,輸出替換后的結果。
【輸入樣例】
I love China. I love Beijing. I U
【輸出樣例】
U love China. U love Beijing.
題目分析
1.有數組先保存原字符串,然后讀入A字符,空格字符,B字符
2.從數組第一個字符開始找與A相等的,如果相等則替換成字符B
3.注意獲取單個字符可以使用getchar();
程序代碼:(每行代碼加注釋是個好習慣,堅持)
#include<cstdio>
#include<iostream>
using namespace std;
int main(){
char s[200]; //定義一個不超過200個字符的數組
char A,B; //A為要被替換的字符,B為要替換成的字符
int i,n=0; //i表示輸出的變量,n是表示數組的下標
while((s[n++]=getchar())!='\n');
//用while 循環實現數組的讀入,直到回車換行結束,可以用for循環
A=getchar(); getchar(); B=getchar();
//getchar()是讀取一個字符,所以A,空格,B字符一個用到了三個getchar,中間的getchar是讀取空格,不能省略
for(i=0;i<n;i++)
//用for循環來遍歷每個字符
{ if (s[i]==A) cout<<B;
//如果數組中的字符等於A,則用字符B替換
else cout<<s[i]; }
//否則字符原樣輸出
cout<<endl;//換行
return 0;//返回
}
運行結果

題目總結:
1.如果讀入一個字符可以使用getchar()
2.如果讀入字符串可以使用 gets(),gets()為專門讀字符串的函數,他會讀取一行字符串
3.scanf("%s",&st); 這個函數可以讀取字符串,但是會遇到空格停止。
4.使用的時候注意gets()和scanf("%s",&st);的區別。
5.字符串的讀取和輸出可以用數組來實現。
