现有两个字符串s1和s2,它们最多都只能包含255个字符。编写程序,将字符串s1中所有出现在字符串s2中的字符删去,然后输出s1 c语言大学内容 不用高级函数
时间: 2023-06-27 14:08:14 浏览: 103
函数:字符串s1中删除串s2里包含的所有字符(c语言)
5星 · 资源好评率100%
以下是C语言的代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 255
void deleteChars(char *s1, char *s2) {
int len1 = strlen(s1);
int len2 = strlen(s2);
int i, j, k;
for (i = 0; i < len2; i++) {
for (j = 0; j < len1; j++) {
if (s1[j] == s2[i]) {
for (k = j; k < len1; k++) {
s1[k] = s1[k + 1];
}
len1--;
j--;
}
}
}
}
int main() {
char s1[MAX_LEN + 1];
char s2[MAX_LEN + 1];
printf("Enter string s1: ");
scanf("%s", s1);
printf("Enter string s2: ");
scanf("%s", s2);
deleteChars(s1, s2);
printf("Result: %s\n", s1);
return 0;
}
```
在这个程序中,我们首先定义了一个`deleteChars`函数,用于删除字符串`s1`中出现在字符串`s2`中的字符。具体实现过程是,我们先分别获取字符串`s1`和`s2`的长度,然后使用两个嵌套的循环,遍历所有的字符。对于`s2`中的每个字符,我们在`s1`中查找是否存在相同的字符,如果存在,就将`s1`中该字符后面的所有字符向前移动一个位置,同时将`s1`的长度减1。最终,`deleteChars`函数就能够删除所有在`s2`中出现的字符。
在`main`函数中,我们首先分别获取两个字符串`s1`和`s2`,然后调用`deleteChars`函数对`s1`进行处理。最后,我们输出处理后的结果。
阅读全文