Найти количество слов, содержащих в себе заданную букву - C (СИ)
Формулировка задачи:
Здравствуйте! Прошу помочь мне с такой задачей: С клавы ввести предложение и букву. Найти количество слов с заданной буквой.
Заранее спасибо!!!
Решение задачи: «Найти количество слов, содержащих в себе заданную букву»
textual
Листинг программы
- #include <stdio.h>
- #include <string.h>
- int main(void)
- {
- char str[256];
- char a;
- char* pch = NULL;
- int N = 0;
- gets(str);
- scanf("%c", &a);
- pch = strtok(str, " ,.!?");
- while (pch != NULL)
- {
- if (strchr(pch, a) != NULL)
- {
- N++;
- }
- pch = strtok(NULL, " ,.!?");
- }
- printf("N = %d\n", N);
- return 0;
- }
Объяснение кода листинга программы
В этом коде:
- Объявлены следующие переменные:
str
- массив символов (строка), размер которого 256 символов;a
- символ;pch
- указатель на первый символ подстроки, выделяемой в строкеstr
при помощи функцииstrtok
;N
- счётчик, который инициализируется нулём.
- Вводится строка с помощью функции
gets(str)
. - С помощью функции
scanf
вводится символa
. - В цикле с помощью функции
strtok
строкаstr
делится на подстроки, ограниченные символами пробела, запятой, точки, восклицательного и вопросительного знаков. При этом, указательpch
получает первый символ каждой подстроки. - В каждой подстроке проверяется наличие символа
a
с помощью функцииstrchr
. Если символa
присутствует в подстроке, то счётчикN
увеличивается на единицу. - После проверки всех подстрок, выводится значение счётчика
N
. - Программа завершается, возвращая в систему значение 0, что означает успешный конец работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д