Подсчет количества слов, состоящих только из буквы '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').
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д