#include <iostream>
#include <cstring>
using namespace std;
int main()
{
string s, a, b, t, ans;
getline(cin, s);
cin >> a >> b;
// 目标是 遍历 字符串 s 然后判断 如果是空格的话 就跳过。这样就以空格拿到了一个单词。
for(int i = 0; i < s.size(); i++){
// 以 空格拿到一个单词。
while (s[i] != ' ' && i < s.size()) {
t += s[i];
i ++;
}
// while 循环跳出的时候 s[i] 指向的已经是个空格。
// 判断这个单词是否需要替换。
if (t == a) t = b;
// 放到结果里面 然后拼接个空格。 这个地方是关键。 t 加上 s[i];
ans += t + s[i];
// t进行单词清空。 那么再遇到空格的话,其实就是加 s[i] 和 ' ' 是一样的。
t = "";
}
cout << ans << endl;
return 0;
}
作者:yxc
链接:https://www.acwing.com/video/956/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
#include <bits/stdc++.h>
using namespace std;
int main()
{
string a;
getline(cin, a);
string x,y;
cin >> x >> y;
string b;
// stringstream ssin(a);
stringstream ssin;
ssin << a;
while (ssin >> b) {
if (b == x) cout << y << ' ';
else cout << b << ' ';
}
return 0;
}