zoukankan      html  css  js  c++  java
  • 7-8 删除字符串中的子串(20 分)

    7-8 删除字符串中的子串(20 分)

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

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

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

    输入样例:
    Tomcat is a male ccatat
    cat
    输出样例:
    Tom is a male
    这题简单方法
    这道题用到了三个string中的函数,strstr(str1,str2),查找子串,返回子串的首地址,strcat(str1,str2)字符串的连接把两个字符串连接在一起,strcpy拷贝函数。
    大概思路就是在一个循环里查找子串,根据子串长度去掉他,把剩下的放在另一个字符串里,然后母串和另一个字符串合并到一起,直到母串里没有那个子串存在

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	char shu[82],shu1[80];
    	gets(shu);
    	gets(shu1);
    	char *p=NULL;
    	char shu2[81];
    	while((p=strstr(shu,shu1))!=NULL)   //strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。
    										//如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
    	{
    		*p='';
    		strcpy(shu2,p+strlen(shu1));     //跳过需要删除的字符串减剩下的拷贝到shu2里面去  
    		strcat(shu,shu2);              //strcat函数字符串的连接函数将两个字符串连接在一起 
    	}
    	puts(shu);
    	return 0;
    }
    
    
  • 相关阅读:
    随笔2
    随笔
    关于updateElement接口
    随笔1
    本地访问正常,服务器访问乱码 记录
    Redis (error) NOAUTH Authentication required.解决方法
    tomcat启动很慢 停留在 At least one JAR was scanned for TLDs yet contained no TLDs.
    微信公众号消息回复
    微信公众号 报token验证失败
    idea中web.xml报错 Servlet should have a mapping
  • 原文地址:https://www.cnblogs.com/saber114567/p/8575751.html
Copyright © 2011-2022 走看看