输入两个字符串M和N,从字符串M中删除字符串N中所有的字符。例如,输入”abcda”和”ac”,则删除之后的第一个字符串变成”bd”
#include <stdio.h>
#include <string.h>
int main() {
char M[100], N[100];
int hashTable[256] = {0};
int i, j = 0;
printf("请输入字符串M: ");
fgets(M, sizeof(M), stdin);
M[strcspn(M, "\n")] = '\0';
printf("请输入字符串N: ");
fgets(N, sizeof(N), stdin);
N[strcspn(N, "\n")] = '\0';
//字符哈希表
for (i = 0; N[i] != '\0'; i++) {
hashTable[(unsigned char)N[i]] = 1;
}
for (i = 0; M[i] != '\0'; i++) {
if (!hashTable[(unsigned char)M[i]]) {
M[j++] = M[i];
}
}
M[j] = '\0';
printf("处理后的字符串M: %s\n", M);
return 0;
}