子串替换 ⑴ 编写函数int replace_str(char *s,char *t,char *g),利用字符串处理函数将母串s中出现的所有子串t替换成子串g,返回替换的次数。 ⑵ 编写main函数,键盘输入母串s、子串t及子串g,调用replace_str函数替换,输出新串及替换次数。
时间: 2023-04-29 22:06:21 浏览: 356
字符串子串替换函数
b'\xe5\xad\x90\xe4\xb8\xb2\xe6\x9b\xbf\xe6\x8d\xa2 \xe2\x91\xb4 \xe7\xbc\x96\xe5\x86\x99\xe5\x87\xbd\xe6\x95\xb0int replace_str(char *s,char *t,char *g)\xef\xbc\x8c\xe5\x88\xa9\xe7\x94\xa8\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2\xe5\xa4\x84\xe7\x90\x86\xe5\x87\xbd\xe6\x95\xb0\xe5\xb0\x86\xe6\xaf\x8d\xe4\xb8\xb2s\xe4\xb8\xad\xe5\x87\xba\xe7\x8e\xb0\xe7\x9a\x84\xe6\x89\x80\xe6\x9c\x89\xe5\xad\x90\xe4\xb8\xb2t\xe6\x9b\xbf\xe6\x8d\xa2\xe6\x88\x90\xe5\xad\x90\xe4\xb8\xb2g\xef\xbc\x8c\xe8\xbf\x94\xe5\x9b\x9e\xe6\x9b\xbf\xe6\x8d\xa2\xe7\x9a\x84\xe6\xac\xa1\xe6\x95\xb0\xe3\x80\x82 \xe2\x91\xb5 \xe7\xbc\x96\xe5\x86\x99main\xe5\x87\xbd\xe6\x95\xb0\xef\xbc\x8c\xe9\x94\xae\xe7\x9b\x98\xe8\xbe\x93\xe5\x85\xa5\xe6\xaf\x8d\xe4\xb8\xb2s\xe3\x80\x81\xe5\xad\x90\xe4\xb8\xb2t\xe5\x8f\x8a\xe5\xad\x90\xe4\xb8\xb2g\xef\xbc\x8c\xe8\xb0\x83\xe7\x94\xa8replace_str\xe5\x87\xbd\xe6\x95\xb0\xe6\x9b\xbf\xe6\x8d\xa2\xef\xbc\x8c\xe8\xbe\x93\xe5\x87\xba\xe6\x96\xb0\xe4\xb8\xb2\xe5\x8f\x8a\xe6\x9b\xbf\xe6\x8d\xa2\xe6\xac\xa1\xe6\x95\xb0\xe3\x80\x82'
这是一道考验字符串处理能力的题目,题目要求写一个函数replace_str(char *s,char *t,char *g),将母串s中出现的所有子串t替换成子串g,并返回替换的次数。同时,还要用main函数调用replace_str函数来测试,输入母串s、子串t和子串g,并输出替换后的新串及替换次数。
要想实现这个函数,需要用到指针、循环、判断、字符串比较、字符串复制等知识。具体实现方式可以参考以下思路:
1. 定义函数replace_str(char *s,char *t,char *g)。
2. 定义变量count,用于记录替换次数。
3. 定义两个指针分别指向母串s和子串t,用于查找和比较。
4. 在while循环中,依次查找母串s中每一个子串t。
5. 如果找到了子串t,则用指针复制新串g到原串s中,并将指针移动到替换后的位置。
6. 继续while循环查找,直到母串s中没有子串t。
7. 返回替换的次数count。
8. 在main函数中,分别输入母串s、子串t和子串g,调用replace_str函数替换并输出新串及替换次数。
需要注意的是,在复制新串g到原串s中的过程中,需要考虑空间的问题。如果新串g比子串t长,可能会溢出,因此需要先计算出需要增加的空间,然后再使用strcpy函数进行复制。同时,需要在while循环中使用break语句来避免死循环的问题。
阅读全文