Дана строка символов. Найти и вывести все слова, содержащие более двух букв «a» - C (СИ)

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

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

Задание-> Дана строка символов. Найти и вывести все слова, содержащие более двух букв «a». Помогите пожалуйста с кодом на языке СИ ( используя scanf,getchar,putchar ну и всё остальное само собой)

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

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
size_t chcount(const char * str, const char c) {
    return ( str = strchr(str, c) ) ? 1 + chcount(str + 1, c) : 0;
}
 
#define CHAR 'a'
#define MEETINGS 2
#define DELIM " \t\n"
 
int main(void) {
    char buf[BUFSIZ], * p;
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
        for ( p = strtok(buf, DELIM); p; p = strtok(NULL, DELIM) )
            if ( chcount(p, CHAR) > MEETINGS )
                printf("%s\n", p);
    
    return 0;
}

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


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

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

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