Найти количество слов в строке, которые содержат хотя бы одну букву "А" - C (СИ)
Формулировка задачи:
ана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество слов, которые содержат хотя бы одну букву "А". на Си. Спасибо)
Решение задачи: «Найти количество слов в строке, которые содержат хотя бы одну букву "А"»
textual
Листинг программы
#include <string.h>
#include <stdio.h>
int main()
{
char str[]=" ШЛА САША ПО ШОССЕ И СОСАЛА СУШКУ ";
unsigned counter = 0;
for (const char *word = strtok(str, " "); word != NULL; word = strtok(NULL, " "))
counter += strchr(word, 'А') != NULL;
printf("%u\n", counter);
}
Объяснение кода листинга программы
- Подключение необходимых библиотек:
и . - Объявление переменной типа char с именем str и инициализация её значением
ШЛА САША ПО ШОССЕ И СОСАЛА СУШКУ. - Объявление переменной типа int с именем counter и инициализация её значением 0.
- Использование функции strtok для разделения строки на слова и цикла for для перебора слов.
- Внутри цикла проверка наличия буквы
Ав текущем слове с помощью функции strchr и оператора не равно NULL. - Если буква
Анайдена, то значение переменной counter увеличивается на единицу. - После окончания цикла, значение переменной counter выводится на экран с помощью функции printf.