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