Программа не считает количество пробелов в строке - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый день! Программа компилируется, подсчитывает количество строк и табуляцию, но пробелы не считает. Подскажите, в чем ошибка?
#include <stdio.h>
 
main()
{
    int c, sp, tab, st;
    sp = 0; //spaces
    tab = 0; //tabulation
    st = 0; //strings
    
    while ((c = getchar()) != EOF) 
        if (c == '\n') //подсчет символов новой строки
            ++st;
        if (c == ' ') //подсчет пробелов
            ++sp;
        if (c == '\t') //табуляция
            ++tab;
            
    printf("Spaces %d\nTabulation %d\nStrings %d\n", sp, tab, st);
 
        getch();
    return 0;
}

Решение задачи: «Программа не считает количество пробелов в строке»

textual
Листинг программы
    while ((c = getchar()) != EOF) 
    {
        if (c == '\n') //подсчет символов новой строки
            ++st;
        if (c == ' ') //подсчет пробелов
            ++sp;
        if (c == '\t') //табуляция
            ++tab;
    }

Объяснение кода листинга программы

  1. while((c = getchar()) != EOF) — это цикл, который выполняется до тех пор, пока символ, считываемый из файла или стандартного ввода, не станет конечным символом (EOF).
  2. if(c == '\n') — это условие, которое проверяет, является ли текущий символ символом новой строки. Если это так, то переменная st увеличивается на 1.
  3. if(c == ' ') — это условие, которое проверяет, является ли текущий символ пробелом. Если это так, то переменная sp увеличивается на 1.
  4. if(c == '\t') — это условие, которое проверяет, является ли текущий символ табуляцией. Если это так, то переменная tab увеличивается на 1.
  5. getchar() — это функция, которая считывает символ из файла или стандартного ввода и возвращает его.
  6. EOF — это константа, которая представляет конечный символ, обозначающий конец файла или стандартного ввода.
  7. st, sp, tab — это переменные, которые используются для подсчета символов новой строки, пробелов и табуляций соответственно.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5
Похожие ответы