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