编写一个C程序,输入两个字符串,并从第一个字符串中删去任何与第二个字符串相同的字符
时间: 2024-12-23 17:12:14 浏览: 4
当然可以。要编写一个C程序,你可以使用`stdio.h`中的标准输入输出函数以及`string.h`中的处理字符串的函数。这里,我们将创建一个名为`remove_duplicates.c`的文件,并编写以下代码:
```c
#include <stdio.h>
#include <string.h>
void remove_duplicates(char *str, const char *exclude) {
int i, j;
for (i = 0, j = 0; str[i]; ++i) {
if (strchr(exclude, str[i]) == NULL) {
str[j++] = str[i];
}
}
str[j] = '\0'; // 结束字符串
}
int main() {
char input[100], exclude[100];
printf("请输入第一个字符串: ");
fgets(input, sizeof(input), stdin); // 注意:fgets包括换行符
input[strcspn(input, "\n")] = '\0'; // 去除换行符
printf("请输入需要排除的字符串: ");
fgets(exclude, sizeof(exclude), stdin);
exclude[strcspn(exclude, "\n")] = '\0'; // 去除换行符
remove_duplicates(input, exclude);
printf("去除重复后的字符串: %s\n", input);
return 0;
}
```
这个程序首先定义了一个名为`remove_duplicates`的函数,该函数接收两个参数,一个是源字符串,另一个是要排除的字符串。它遍历源字符串,如果某个字符不在排除列表中,则添加到结果字符串。
在`main`函数中,我们获取用户输入的两个字符串,并调用`remove_duplicates`函数进行操作。最后打印去除重复后的字符串。
运行此程序时,请确保两个输入之间有足够的空间,因为它们都存储在缓冲区中。
阅读全文