解题思路:

注意事项:

参考代码:

#include<iostream>

#include<bits/stdc++.h>

#include<cstring>

#include<cmath>

#include<cstdio>

#include<set>

using namespace std;



int main()

{

    string str0,str;

    cin>>str0;

    str=str0;

    transform(str0.begin(), str0.end(), str0.begin(), ::toupper);//将str0变成大写

    int len=str0.size();

    

    string stra,strb;

    getchar();

    while(getline(cin,stra))

    {

       //删空格

         int x=stra.find (' ');

        while(x!=-1)

        {

            stra.erase(x,1);

            x=stra.find (' ',x);

        }

    strb=stra;

        transform(stra.begin(), stra.end(), stra.begin(), ::toupper);//将stra变成大写

        x=stra.find (str0);

        while(x!=-1)

        {

            stra.erase(x,len);

            //删除子串,两个字符串同步删除

            strb.erase(x,len);

            x=stra.find (str0,x);

        }

        cout<<strb<<endl;

    }


    return 0;

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

烟雨忘忧 5年前 回复TA
为什么子串要同时删除呀