Помогите с кодом пожалуйста
Программа вводит несколько строк текста и символ для поиска. Используя функцию strchr, программа определяет, сколько раз этот символ встречается в строках
int main()
{
int k = 0;
char str[100];
char* pch;
printf("please input 1 line:");
scanf("%s", str);
int ch;
scanf("%d", &ch);
pch = strchr(str, ch);
puts(str);
if (pch == NULL)
printf("symbol not found\n");
else
{
printf("sumbol %c on place %d\n", ch, pch - str + 1);
k++;
}
printf("k:%d", k);
return 0;
}
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
int main()
{
int k = 0;
char str[100];
char* pch;
printf("please input 1 line:");
fgets(str,100,stdin);
char ch;
printf("please input char:");
scanf("%c", &ch);
for(pch = strchr(str, ch); pch; pch = strchr(pch+1, ch))
{
++k;
}
printf("symbol %c found %d times\n", ch, k);
}
Но проще без strchr - просто пройти по символам:
for(pch = str; *pch; pch++)
{
if (*pch == ch) ++k;
}