Подсчет количества слов, состоящих только из буквы '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++;
- }
Объяснение кода листинга программы
- Переменная
flag
инициализируется значением 1. - В цикле while происходит проход по всем символам строки
s
. - Если текущий символ не равен 'a', то проверяется, является ли он пробелом.
- Если текущий символ - пробел и переменная
flag
равна 1, то значение переменнойcount
увеличивается на 1. - После увеличения значения переменной
count
, значение переменнойflag
сбрасывается в 0. - Если текущий символ - пробел и переменная
flag
равна 0, то значение переменнойflag
сбрасывается в 1. - Значение переменной
i
увеличивается на 1 после каждой итерации цикла. - Цикл while выполняется до тех пор, пока не будет достигнут конец строки (символ '\0').
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д