Я изучаю, как писать программы на C, используя книгу k & r (язык программирования C), и у меня есть проблема с одним из упражнений. Он просил меня обнаружить и удалить символ в строке s1, который соответствует любым символам в строке s2.
Итак, скажем s1 = "A";
И s2 = "AABAACAADAAE"
Я хочу, чтобы он возвращал "BCDE"
Я знаю, что я нахожусь на правильном пути к этому, я просто не знаю, как правильно проектировать программы, не могли бы вы дать мне дополнительные советы. Я попытался прочитать об алгоритме дерева двоичных данных, но чувствовал, что он слишком продвинулся для этой мирской задачи.
Спасибо всем!
/* An alternate version of squeeze(s1, s2) that deletes each character in
* s1 that matches any character in the string s2
*
* [email protected]
*/
#include <stdio.h>
#include <string.h>
void squeeze(char s[], char t[]);
char string[] = "BAD";
char sstring[] = "ABC";
int
main(void)
{
squeeze(string, sstring);
return 0;
}
void
squeeze(char s[], char t[])
{
int i, j, d;
d = 0;
if(strstr(s, t) == NULL)
printf("%c", s[i]);
s[j] = '\0';
}