Найти количество слов, содержащих в себе заданную букву - 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, что означает успешный конец работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д