Написать функцию, которая выводит на экран все слова заданной строки, в которой заданная буква входит N или более раз - C (СИ)

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

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

Написать функцию, которая выводит на экран все слова заданной строки, в которой заданная буква входит N или более раз. В случае отсутствия таких слов выводится соответствующее сообщение. В главной программе ввести с клавиатуры две строки длиной до 80 символов, и с помощью созданной функции вывести на экран все слова первой строки, которые содержат букву "c" более одного раза, и все слова второй строки, содержащие букву "a" три или более раза.
апап
Хелпаните, завтра зачет :C
апап

Решение задачи: «Написать функцию, которая выводит на экран все слова заданной строки, в которой заданная буква входит N или более раз»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
 
void func(char mass[80],int N,char ch)
{
    int i=0,count=0;
    char *p, *buf;
    p=strtok(mass," ");
 
  while(p)
  {
      i=0;
      buf=p;
      while (strchr (buf,ch))
      {
            i++;
            buf=strchr (buf,ch);
            buf++;
      }
      if(i>=N) {printf("%s ",p);count++;}
      p=strtok(NULL," ");
  }
 
  if(!count) printf ("Takih slov net.\n");
  printf("\n\n");
}
 
int main ()
{
  int N;
  char strtext[80];
  
  printf("Vvedi 1-stroky:\n>>");
  fgets(strtext,80,stdin);
    fflush(stdin);
 
  func(strtext,1,'c');
 
  //2 stroka
  printf("Vvedi 2-stroky:\n>>");
  fgets(strtext,80,stdin);
 
  func(strtext,3,'a');
 
  return 0;
}

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

В этом коде функция func() принимает три аргумента:

  1. mass - строка, в которой нужно найти слова, содержащие заданную букву
  2. N - количество повторений заданной буквы в слове, после которого слово выводится на экран
  3. ch - буква, которую нужно найти В функции используется функция strtok() для разделения строки на слова. Каждое слово проверяется на наличие заданной буквы. Если буква встречается в слове N или более раз, слово выводится на экран. В функции main() пользователю предлагается ввести строку, затем функция func() вызывается дважды:
  4. С одним повторением (N=1) и буквой 'c' - выводит все слова, в которых буква 'c' встречается хотя бы один раз.
  5. С тремя повторениями (N=3) и буквой 'a' - выводит все слова, в которых буква 'a' встречается три или более раз. При вводе строк и вызове функции func() используется функция fgets(), чтобы исключить символ новой строки, который добавляется при вводе строки с помощью функции printf().

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


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

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

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