Подсчет количества слов, состоящих только из буквы 'a' - C (СИ)

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

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

Есть программа подсчета количества слов с буквой 'a', какое условие добавить, чтобы был подсчет слов, состоящих только из буквы 'a' ???
#include <stdio.h>
 
void main()
{
    char s[80] = "adds  ewgfd sdd a";
    int i = 0, count = 0, flag = 0;
 
    while (s[i] != '\0')
    {
        if (s[i] == 'a')
            flag = 1;
        if (s[i] == ' '&&flag == 1)
        {
            count++;
            flag = 0;
        }
 
        i++;
    }
 
    if (flag == 1 && s[i] == '\0')
        count++;
 
    printf("%d\n", count);
}

Решение задачи: «Подсчет количества слов, состоящих только из буквы 'a'»

textual
Листинг программы
flag = 1;
while (s[i] != '\0'){
if (s[i] != 'a')
    if (s[i] == ' '){
        if (flag == 1) count++;
        flag = 1;
    } else flag = 0;
i++;
}

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

  1. Переменная flag инициализируется значением 1.
  2. В цикле while происходит проход по всем символам строки s.
  3. Если текущий символ не равен 'a', то проверяется, является ли он пробелом.
  4. Если текущий символ - пробел и переменная flag равна 1, то значение переменной count увеличивается на 1.
  5. После увеличения значения переменной count, значение переменной flag сбрасывается в 0.
  6. Если текущий символ - пробел и переменная flag равна 0, то значение переменной flag сбрасывается в 1.
  7. Значение переменной i увеличивается на 1 после каждой итерации цикла.
  8. Цикл while выполняется до тех пор, пока не будет достигнут конец строки (символ '\0').

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

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