单词替换
题目
输入一个字符串,以回车结束
该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写
现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串
输入
输出
输入样例
You want someone to help you
You
I
输出样例
I want someone to help you
解题思路
我们就不断的查询,找到就替换即可
程序如下
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
string t[1001], sum, a, b;
char s;
int n;
int main()
{
do
{
n++;
cin >> t[n];
sum += t[n];
sum += " ";
scanf("%c", &s);
} while(s == ' ');
sum = " " + sum;
cin >> a;
a = " " + a + " ";
cin >> b;
b = " " + b + " ";
int len = a.length(), k = sum.find(a, 0), l = k;
while(k != -1)
{
sum.erase(k, len);
sum.insert(k, b);
k = sum.find(a, l + 1);
l = k;
}
cout << sum.substr(1, sum.length() - 1) << endl;
return 0;
}