Найти количество слов, содержащих в себе заданную букву - C (СИ)

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

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

Здравствуйте! Прошу помочь мне с такой задачей: С клавы ввести предложение и букву. Найти количество слов с заданной буквой. Заранее спасибо!!!

Решение задачи: «Найти количество слов, содержащих в себе заданную букву»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int main(void)
{
  char str[256];
  char a;
  char* pch = NULL;
  int N = 0;
 
  gets(str);
  scanf("%c", &a);
  pch = strtok(str, " ,.!?");
  while (pch != NULL)
  {
    if (strchr(pch, a) != NULL)
    {
      N++;
    }
    pch = strtok(NULL, " ,.!?");
  }
  printf("N = %d\n", N);
 
  return 0;
}

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

В этом коде:

  1. Объявлены следующие переменные:
    • str - массив символов (строка), размер которого 256 символов;
    • a - символ;
    • pch - указатель на первый символ подстроки, выделяемой в строке str при помощи функции strtok;
    • N - счётчик, который инициализируется нулём.
  2. Вводится строка с помощью функции gets(str).
  3. С помощью функции scanf вводится символ a.
  4. В цикле с помощью функции strtok строка str делится на подстроки, ограниченные символами пробела, запятой, точки, восклицательного и вопросительного знаков. При этом, указатель pch получает первый символ каждой подстроки.
  5. В каждой подстроке проверяется наличие символа a с помощью функции strchr. Если символ a присутствует в подстроке, то счётчик N увеличивается на единицу.
  6. После проверки всех подстрок, выводится значение счётчика N.
  7. Программа завершается, возвращая в систему значение 0, что означает успешный конец работы.

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


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

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

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