C语言:编写程序:从键盘上输入字符串S和字符串T,利用替换算法Replace将S串中的子串S1用串T替换。
时间: 2024-05-06 17:19:21 浏览: 128
好的,我可以回答这个问题。以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
// 可以将子串s1替换为t
void replace(char *s, char *s1, char *t) {
char tmp[1000]; // 容器字符串
int len1 = strlen(s1);
int len2 = strlen(t);
while(*s) {
if(!strncmp(s, s1, len1)) { // 判断是否是子串s1
strcat(tmp, t); // 将t拼接到容器字符串中
s += len1; // s指向被替换字符串的下一个位置
}
else {
strncat(tmp, s, 1); // 将s的一个字符拼接到容器字符串中
s++; // s指向下一个字符
}
}
strcpy(s, tmp); // 将容器字符串赋值给s
}
int main() {
char s[1000], s1[1000], t[1000];
printf("请输入字符串s:");
scanf("%s", s);
printf("请输入要替换的字符串s1:");
scanf("%s", s1);
printf("请输入替换用的字符串t:");
scanf("%s", t);
replace(s, s1, t);
printf("替换后的字符串:%s\n", s);
return 0;
}
```
希望我的回答能够帮助到你!
阅读全文