Подсчет символов, строк и слов

Программа считает количество введенных пользователем символов, строк и слов. Чтобы программа корректно закончила работу и правильно посчитала, после набора строк надо перейти на новую строку, после чего нажать Ctrl + D (по крайней мере в терминале Linux).

#include <stdio.h>

int main() {
    char ch, flag=-1;
    unsigned c=0; // символы
    unsigned w=0; // слова
    unsigned n=0; // строки

    while ((ch = getchar()) != EOF) {
        if (ch == '\n')
            n++;
        else
            c++;

        if (ch == ' ' || ch == '\n')
            flag = -1;
        else if (flag == -1) {
            flag = 1;
            w++;
        }
    }

    printf("Символы: %u\n", c);
    printf("  Слова: %u\n", w);
    printf(" Строки: %u\n", n);
}
one two
three
four
Символы: 16
  Слова: 4
 Строки: 3

Решение задач на языке C




Все разделы сайта