- 基本思路:对输入串进行预处理,将字符串切分为单词,存入迭代器;
- 然后遍历迭代器,将单词逐个与目标词对比,判断是否需要替换,同时输出;
- 为了处理过程正确性,需要给输入串末尾添上空格。
#include <iostream>
#include <vector>
using namespace std;
vector<string> str2word(string str){
vector<string> ans;
for(int i=0;i<str.length();i++){
string word;
while(str[i]!=' '){
word+=str[i++];
}
ans.push_back(word);
}
return ans;
}
int main() {
string str,a,b;
getline(cin,str);
str+=' ';
cin>>a>>b;
vector<string> word=str2word(str);
for(int i=0;i<word.size();i++){
if(word[i]!=a) cout<<word[i]<<" ";
else cout<<b<<" ";
}
return 0;
}