题目:删除一个字符串中的指定字母,如:字符串 “aca”,删除其中的 a 字母。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
删除字符串中指定字母函数
//char* deleteCharacters(char* str, char* charSet)
//{
// int hash[256];
// if (NULL == charSet)
// return str;
// for (int i = 0; i < 256; i++)
// hash[i] = 0;
// for (int i = 0; i < strlen(charSet); i++)
// hash[charSet[i]] = 1;
// int currentIndex = 0;
// for (int i = 0; i < strlen(str); i++)
// {
// if (!hash[str[i]])
// str[currentIndex++] = str[i];
// }
// str[currentIndex] = '\0';
// return str;
//}
//
//int main()
//{
// char s[2] = "a"; // 要删除的字母
// char s2[5] = "aca"; // 目标字符串
// printf("%s\n", deleteCharacters(s2, s));
// return 0;
//}
int main()
{
char s[128] = { 0 }, s1[128] = { 0 }, ch;
int i = 0, j = 0;
printf("请输入字符串:");
fgets(s, (sizeof s / sizeof s[0]), stdin);
printf("请输入要删除的字符:");
scanf_s("%c", &ch);
for (i = 0; i < strlen(s); i++)
{
if (s[i] == ch)
continue;
s1[j++] = s[i];
}
puts(s);
puts(s1);
return 0;
}