PTA 5-29 删除字符串中的子串

输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。

输入格式:

输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。

输出格式:

在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。

输入样例:

Tomcat is a male ccatat
cat

输出样例:

Tom is a male


使用c/c++ 的库函数非常简单:
#include 
#include 

using namespace std;

int main()
{
    char c1[81],c2[81];
    gets(c1);
    gets(c2);
    
    char c3[81];
    char *p;
    while((p=strstr(c1, c2))!=NULL)//判断c1中是否存在c2,如果存在的话返回出现c2的首地址赋值给p
    {
        *p='\0';//令c1中从*p地址开始的字符串等于'\0'
        strcpy(c3,p+strlen(c2));//将从p+c2.lenth()地址开始之后的字符串赋值给c3
        strcat(c1, c3);//将c3连接到c1之后覆盖'\0'
    }
    puts(c1);
    return 0;
}


你可能感兴趣的:(2017.4,第一周--学习,PTA)