高级守护
3231 电脑bug-英文句式经验值:1200
题目描述 Description
对于给定的一句英文句式,每两个单词之间是用空格隔开的,且没有标点符号。电脑出现了一个bug,在英文句式中出现给定的某两个字母的组合,当前的单词就不能正常显示,只能显示一个+。现在给你一句英文句式和会出现bug的两个字母,请你模拟电脑显示的结果。
输入描述 Input Description
两行:
第一行:一个英文句式,都是小写字母,没有符号,每两个单词用空格隔开;(每个单词最长10个字母,整个句子最多10个单词)
第二行:两个字母
输出描述 Output Description
一行,改变后的英文句式
样例输入 Sample Input
abc cde adg cba acb ab
样例输出 Sample Output
+ cde adg cba acb
#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
int main(){
// freopen("题目名.in","r",stdin);
// freopen("题目名.out","w",stdout);
string s,a,b="+";
getline(cin,s);
cin>>a;
s=s+" ";
int p=s.find(a,0),p1=s.find(" ",0);
while(p!=-1){
s.replace(p,p1,b);
p=s.find(a,p+1);
p1=s.find(" ",0);
}
cout<<s;
// fclose(stdin);
// fclose(stdout);
return 0;
}
大佬,我的20WA,哪错了