现有待输入两个字符串s1和s2,它们最多都只能包含255个字符。编写程序,将字符串s1中所有出现在字符串s2中的字符删去,然后输出s1。 有两行输入。第一行输入为字符串s1,第二行输入为字符串s2C语言写出代码
时间: 2024-05-01 21:17:49 浏览: 13
```
#include <stdio.h>
#include <string.h>
void deleteChars(char* str1, char* str2) {
int freq[256] = {0}; // 用于记录str2中每个字符出现的次数
int len1 = strlen(str1);
int len2 = strlen(str2);
// 统计str2中每个字符出现的次数
for (int i = 0; i < len2; i++) {
freq[(int)str2[i]]++;
}
// 将str1中出现在str2中的字符删除
int k = 0;
for (int i = 0; i < len1; i++) {
if (freq[(int)str1[i]] == 0) {
str1[k++] = str1[i];
}
}
str1[k] = '\0'; // 注意添加字符串结束标志符
}
int main() {
char s1[256], s2[256];
// 输入字符串s1和s2
fgets(s1, 256, stdin);
fgets(s2, 256, stdin);
// 删除s1中出现在s2中的字符
deleteChars(s1, s2);
// 输出处理后的s1
printf("%s", s1);
return 0;
}
```