B2135单词替换
StarryWander · · 题解
字符串操作题。
题意:
将一行字符串中的某个单词替换成指定单词(被替换的单词可能有多个)。
解题提示:
-
不必要一个个字符读入,可以整体将某个单词读入,方便判断和输出。
-
可以创建一个字符串类型的数组存输入的每个单词。
-
在输入的时候可以顺便统计单词的个数。
-
最后只要判断数组中每个单词是不是要替换的单词,如果是,输出想要替换的单词,不是就直接输出。
这样分析下来,代码就可以缩短很多了。
下面是代码:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
string a[105];
int main(){
string s;
int n=0;
while(cin>>s) a[++n]=s;//a[++n]=s;等同于n++;a[n]=s;
for(int i=1;i<=n-2;i++){//注意,读入的时候将想被替换的单词放在了 n-1 的位置,替换的单词放在了 n 的位置,所以循环一直到 n-2 即可。
if(a[i]==a[n-1]) cout<<a[n]<<" ";//判断到要被替换的单词就输出替换它的单词。
else cout<<a[i]<<" ";
}
return 0;
}