7-29 删除字符串中的子串 (20分)
- 基础编程题
题目:
输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。
输入格式:
输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。
输出格式:
在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。
输入样例:
Tomcat is a male ccatat
cat
输出样例:
Tom is a male
思路
- 做错了😭以为是s2中所有出现过的字母s1中都需要删除
- 其实是删除子串s2
- 使用string.h中的strstr,strcpy,strcat函数
- 或者使用string.find()
作为对比的题:L1-011 A-B
学习 string.h 中的字符串函数
-
char *strstr( const char *str1, const char *str2 )
- 功能:返回字符串中首次出现子串的地址。若str2是str1的子串,则返回str2在str1的首次出现的地址;如果str2不是str1的子串,则返回NULL
-
char *strcpy( char *str1, const char *str2 )
- 功能:把从str2地址开始且含有NULL结束符的字符串复制到以str1开始的地址空间
-
char *strcat( char *str1, const char *str2 )
- 功能:把str2所指向的字符串(包括“\0”)复制到str1所指向的字符串后面(删除str1原来末尾的“\0”)。要保证str1足够长,以容纳被复制进来的*str2。