问题标题: 酷町堂:1466

0
0
已解决
黄子澄
黄子澄
中级天翼
中级天翼

#include<iostream>
#include<string>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<iomanip>
using namespace std;
int main(){
    string a,b,c;
    int d;
    getline(cin,a);
    cin>>b>>c;
    d=a.find(b);
    while(d!=-1){
        a.replace(d,b.length(),c);
        d=a.find(b,d);
    }
    cout<<a;
    return 0;
}

30


0
0
0
邹昊轩
邹昊轩
资深光能
资深光能

定义字符串 s,s1,s2;
    getline(cin,s);
    输入>>s1>>s2;
    s=" "+s+" ";
    s1=" "+s1+" ";
    s2=" "+s2+" "; 
    定义 n;
    n=s.寻找(s1);
    死循环(n!=-1){
        s.replace(n,s1.size(),s2);
        n=s.find(s1);
    }
    s擦除(0,1);
    s.擦除(s.size()-1,1);
     输出<<s;

 

这题要用很多字符串函数。

 

渴了累了,喝东坡乐饮!

0
高梓荣
高梓荣
新手天翼
新手天翼

嗯 我用的好像是字符串数组 

还有你为什么要加queue头文件(很烦的) 逃...

你输入abc都没问题 不能定义d

在外面定义一个字符串数组 string s[1010]和一个下标j

然后寻找操作输出

  • for(int i=0;i<a.size();i++)
  • {
  • if(a[i]!=' ')
  • s[j]+=a[i];
  • else j++;
  • }
  • for(int i=0;i<=j;i++)
  • {
  • if(s[i]==b)
  • s[i]=c;
  • cout<<s[i]<<" ";
  • }

 

我要回答