Написать функцию, которая выводит на экран все слова заданной строки, в которой заданная буква входит 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() принимает три аргумента:
- mass - строка, в которой нужно найти слова, содержащие заданную букву
- N - количество повторений заданной буквы в слове, после которого слово выводится на экран
- ch - буква, которую нужно найти В функции используется функция strtok() для разделения строки на слова. Каждое слово проверяется на наличие заданной буквы. Если буква встречается в слове N или более раз, слово выводится на экран. В функции main() пользователю предлагается ввести строку, затем функция func() вызывается дважды:
- С одним повторением (N=1) и буквой 'c' - выводит все слова, в которых буква 'c' встречается хотя бы один раз.
- С тремя повторениями (N=3) и буквой 'a' - выводит все слова, в которых буква 'a' встречается три или более раз. При вводе строк и вызове функции func() используется функция fgets(), чтобы исключить символ новой строки, который добавляется при вводе строки с помощью функции printf().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д