输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。 输入格式: 输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。 输出格式: 在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。 用C语言怎么写代码
时间: 2023-03-11 22:42:34 浏览: 133
答:用C语言实现此题可以采用字符串替换函数strrep,具体实现方法如下: char* strrep(char* str, char* s1, char* s2)
{
char* result;
char* str_cp = strdup(str);
char* pos = strstr(str_cp, s1);
int len = strlen(s2);
int i = 0;
while(pos != NULL)
{
for(i = 0; i < len; i++)
*(pos + i) = s2[i];
pos = strstr(str_cp, s1);
}
result = strdup(str_cp);
free(str_cp);
return result;
}
相关问题
输入2个字符串s1和s2,要求删除字符串s1中出现的所有子串s2,即结果字符串中不能包含s2。
对于输入的字符串s1和s2,可以使用字符串替换函数将s1中所有出现的s2替换为空字符串,从而得到不包含s2的字符串。代码示例如下:
```
s1 = s1.replace(s2, "")
```
输出的s1就是删除s2的结果
输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。
可以使用字符串的replace函数来实现删除子串S2,即不断地将S1中的S2替换为空字符串。下面是一个Python的示例代码:
```python
def delete_substring(s1, s2):
while s2 in s1:
s1 = s1.replace(s2, '')
return s1
```
这个函数使用了一个while循环,每次循环都判断S2是否在S1中出现,如果是,则将S1中的S2替换为空字符串。当S2不再出现在S1中时,循环结束,返回处理后的S1。
阅读全文