问题标题: 酷町堂:3231 电脑bug-英文句式

0
0
已解决
蔡奕辰
蔡奕辰
高级守护
高级守护

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,哪错了


0
已采纳
张恩泽
张恩泽
高级天翼
高级天翼

你这个没有吃换行

张恩泽在2020-09-16 21:46:08追加了内容

加一个getchar()

我要回答