Подсчитать количество символов "A" в каждом слове - C (СИ)
Формулировка задачи:
Здравствуйте, помогите решить задачку: необходимо подсчитать количество символов "А" в каждом слове (после каждого слова в скобочках записать результат), выбрать слова, в которых символов "А" больше 2-х и вывести их на новой строке.
Текст - просто набор слов, разделенных пробелами. Спасибо.
Решение задачи: «Подсчитать количество символов "A" в каждом слове»
textual
Листинг программы
#include <stdio.h> #include <string.h> #define N 255 #define DELIM " ,.\t\n" int main(void) { char str[N]="abbAAa gdfAg AhAhAj nfffnd App"; char *p=NULL, *ps; int c=0; for (p = strtok(str, DELIM); p!=NULL; p = strtok(NULL, DELIM)) { ps=p; while(*ps) { if(*ps=='A') { c++; } ps++; } printf("%s(%d)\n", p, c); if(c>2) printf("%s\n", p); c=0; } return 0; }
Объяснение кода листинга программы
В этом коде задача заключается в подсчете количества символов A
в каждом слове в строке, разделенной пробелами, запятыми, точками и табуляциями. Вот список действий, которые выполняются в коде:
- Включаются необходимые заголовочные файлы: stdio.h для ввода-вывода и string.h для работы со строками.
- Определяется константа N, которая устанавливает максимальную длину строки.
- Определяется строка DELIM, которая содержит все возможные разделители.
- Создается переменная c, которая будет использоваться для подсчета количества символов
A
. - Создается переменная p, которая будет использоваться для перебора каждого слова в строке.
- В цикле for начинается перебор каждого слова в строке.
- Внутри цикла переменная ps устанавливается равной переменной p, чтобы можно было перебирать символы в каждом слове.
- В цикле while перебираются все символы в текущем слове.
- Если текущий символ равен
A
, увеличивается счетчик c. - После завершения цикла while для каждого слова выводится количество символов
A
и само слово. - Если количество символов
A
больше 2, выводится само слово. - После завершения цикла for возвращается 0, что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д