Ввести произвольный текст. Вычислить среднее число слов в предложении и среднюю длину предложения - C (СИ)
Формулировка задачи:
Всем привет)
вот такая задача
Ввести произвольный текст. Вычислить среднее число слов в предложении и среднюю длину предложения
за ранее спасибо!Решение задачи: «Ввести произвольный текст. Вычислить среднее число слов в предложении и среднюю длину предложения»
textual
Листинг программы
#include <stdio.h>
#define IN 1 /* внутри слова */
#define OUT 0 /* вне слова */
int main(void) {
int c, nw, state;
state = OUT;
nw = 0;
while ((c = getchar()) != EOF) {
if (c == ' ' || c == '\n' || c == '\t')
state = OUT;
else if (state == OUT) {
state = IN;
++nw;
}
}
printf("%d\n", nw);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены три переменные: c, nw, state.
- Инициализируется переменная state значением OUT.
- Инициализируется переменная nw значением 0.
- В цикле while считывается каждый символ из стандартного ввода до конца файла.
- Если считанный символ является пробелом, переносом строки или табуляцией, то переменная state меняется на OUT.
- Если переменная state равна OUT и считанный символ не является пробелом, переносом строки или табуляцией, то переменная state меняется на IN и к переменной nw прибавляется единица.
- После окончания цикла выводится значение переменной nw.
- Программа возвращает 0, что означает успешный конец работы.