九度教程104题-字符串的查找删除

题目描述:

给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。

输入:

输入只有1组数据。
输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。

输出:

删除输入的短字符串(不区分大小写)并去掉空格,输出。

样例输入:
in
#include 
int main()
{

printf(" Hi ");
}
样例输出:
#clude
tma()
{

prtf("Hi");
}
提示:

注:将字符串中的In、IN、iN、in删除。

#include<stdio.h>
#include<string>
#include<ctype.h>
#include<iostream>
using namespace std;
int main(){
    char s[101];
    scanf("%s",s);
    string shorts = s;
    string str;
    
    for (int i = 0;i < shorts.size();i++){
        shorts[i] = tolower(shorts[i]);    
    }
    getchar();
    while (gets(s)){
          string b = s;
          string str = s;
          for (int i = 0;i < b.size();i++){
              b[i] = tolower(b[i]);    
          }   
          int t = b.find(shorts,0);  
          while (t != string::npos){
                b.erase(t,shorts.size());
                str.erase(t,shorts.size());
                t = b.find(shorts,t);
          } 
          t = b.find(' ',0);
          while (t != string::npos){
                b.erase(t,1);
                str.erase(t,1);
                t = b.find(' ',t);
          }
          cout << str <<endl;
    }
    
    return 0;   
}






你可能感兴趣的:(九度教程104题-字符串的查找删除)