Набрать с клавиатуры предложение и произвести в нем поиск слова в котором будет наиболшее количество гласных букв - C (СИ)

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

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

Задание:Набрать с клавиатуры предложение и произвести в нем поиск слова в котором будет наиболшее количество гласных букв. Код нужно написать с использованием функций. (Желательно расписать смысл функции) Спасибо огромное!!!!
anmartex замечательный человек!!Написал код,но его немного нужно доработать.. Тут используются алгоритмы в некоторых местах,а нужны только функции(((...
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
int main() {
    const char CDelim[] = " \t\n,..!?";
    const char CVowel[] = "aeiouy";
    char text[256];
    char* ptr, * pcur, * pmax = NULL;
    int max = 0, cnt;
 
    printf("text: ");
    fgets(text, sizeof(text), stdin);
 
    ptr = strtok(text, CDelim);
    while (ptr) {
        cnt = 0;
        for (pcur = ptr; *pcur; ++pcur) {
            if (strchr(CVowel, tolower(*pcur))) {
                cnt++;
            }
        }
        if (max < cnt) {
            pmax = ptr;
            max = cnt;
        }
 
        ptr = strtok(NULL, CDelim);
    }
 
    if (pmax) {
        printf("maximum vowels(%d) in '%s' word\n", max, pmax);
    }
    else {
        printf("words with vowels not found\n");
    }
 
    return 0;
}

Решение задачи: «Набрать с клавиатуры предложение и произвести в нем поиск слова в котором будет наиболшее количество гласных букв»

textual
Листинг программы
/* (пер. с англ.) получить количество гласных.
 * Т.е. функция возвращает число встретившихся гласных букв в строке.
 * Принимает непосредственно саму строку
 */
int getCountVowels(const char* str);
 
/* (пер. с англ.) получить слово с макс гласных.
 * Т.е. функция возвращает слово с максимальным числом
 * гласных букв 
 *
 * Принимает непосредственно саму строку и указатель на
 * переменную, в которую будет занесено количество гласных
 * встретившихся в возвращаемом слове
 */
char* getWordWithMaxVowels(char* str, int* max)

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

  1. В функции getCountVowels происходит получение количества гласных букв в строке, передаваемой в качестве аргумента.
  2. В функции getWordWithMaxVowels происходит получение слова с максимальным количеством гласных букв в строке, передаваемой в качестве аргумента. Также передается указатель на переменную, в которую будет занесено количество гласных букв, встретившихся в этом слове.

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


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

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

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