Подсчитать количество слов, заканчивающихся на букву "а" - C (СИ)
Формулировка задачи:
Вся задача: Дан текст, оканчивающийся точкой. Текст состоит из слов, разделённых пробелами. Подсчитать количество слов, заканчивающихся на букву "а".
Посмотрел примеры на С++, всё равно не понял. Не знаю, как считывать последний символ у слова. Дошёл только вот до этого:
Решение задачи: «Подсчитать количество слов, заканчивающихся на букву "а"»
textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
int main() {
int ch, back = 0;
int cnt = 0;
while (back != '.') {
ch = getchar();
cnt += (back == 'a') && (!isalnum(ch));
back = ch;
}
printf("cnt = %d\n", cnt);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- В первой строке подключаются необходимые заголовочные файлы для работы с вводом-выводом и проверки символов.
- В функции main() объявляются три переменные: ch, back и cnt. Первая две используются для отслеживания текущего символа и предыдущего, третья - для подсчета слов, заканчивающихся на
а. - В цикле while считывается каждый символ из стандартного ввода до тех пор, пока не встретится точка.
- Переменная cnt увеличивается только в том случае, если предыдущий символ был
аи текущий символ не является буквой или цифрой. - После окончания цикла выводится значение переменной cnt.
- Программа завершается успешно, возвращая 0.