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

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

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

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

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

textual
Листинг программы
#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;
}

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

В этом коде ищется слово в предложении, в котором содержится наибольшее количество гласных букв. Вот список действий, которые происходят в коде:

  1. Синтаксический анализ: В первых трех строках подключаются необходимые библиотеки.
  2. Инициализация переменных: В следующих строках объявляются и инициализируются необходимые переменные.
    • CDelim[] - это строка-разделитель, которая определяет символы, используемые в качестве разделителей в предложении (пробел, табуляция, перевод строки, точка, запятая, двоеточие, восклицательный знак, вопросительный знак).
    • CVowel[] - это строка, содержащая гласные буквы (a, e, i, o, u, y).
    • text[256] - это массив символов, в который считывается предложение.
    • ptr, pcur, pmax - это указатели на символы в предложении.
    • max - это счетчик, который отслеживает количество гласных букв в текущем слове.
    • cnt - это счетчик, который отслеживает количество гласных букв в текущем слове.
  3. Получение предложения от пользователя: В следующей строке предложение считывается из стандартного ввода.
  4. Разбиение предложения на слова: В следующей строке предложение разбивается на слова с использованием функции strtok(). Первый вызов этой функции возвращает первое слово в предложении, второй вызов - следующее слово, и так далее.
  5. Подсчет гласных букв в каждом слове: Для каждого слова выполняется цикл, который проходит по каждому символу в слове. Если символ является гласной буквой, счетчик cnt увеличивается.
  6. Поиск слова с наибольшим количеством гласных букв: После подсчета количества гласных букв в каждом слове, осуществляется поиск слова с наибольшим количеством гласных букв. Если такое слово найдено, указатель pmax указывает на это слово, а переменная max содержит количество гласных букв в этом слове.
  7. Вывод результата: В последних строках кода выводится сообщение, указывающее, было ли найдено слово с наибольшим количеством гласных букв, и если да, то какое это слово и сколько в нем гласных букв. Вот список номеров и соответствующих действий:
  8. Подключение необходимых библиотек
  9. Инициализация переменных
  10. Считывание предложения от пользователя
  11. Разбиение предложения на слова
  12. Подсчет гласных букв в каждом слове
  13. Поиск слова с наибольшим количеством гласных букв
  14. Вывод результата

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


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

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

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