Подсчитать количество символов "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 в каждом слове в строке, разделенной пробелами, запятыми, точками и табуляциями. Вот список действий, которые выполняются в коде:

  1. Включаются необходимые заголовочные файлы: stdio.h для ввода-вывода и string.h для работы со строками.
  2. Определяется константа N, которая устанавливает максимальную длину строки.
  3. Определяется строка DELIM, которая содержит все возможные разделители.
  4. Создается переменная c, которая будет использоваться для подсчета количества символов A.
  5. Создается переменная p, которая будет использоваться для перебора каждого слова в строке.
  6. В цикле for начинается перебор каждого слова в строке.
  7. Внутри цикла переменная ps устанавливается равной переменной p, чтобы можно было перебирать символы в каждом слове.
  8. В цикле while перебираются все символы в текущем слове.
  9. Если текущий символ равен A, увеличивается счетчик c.
  10. После завершения цикла while для каждого слова выводится количество символов A и само слово.
  11. Если количество символов A больше 2, выводится само слово.
  12. После завершения цикла for возвращается 0, что означает успешное завершение программы.

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


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

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

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