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

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

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

Дана непустая последовательность цифр и строчных латинских букв,за которой следует точка.Определить,каких букв - гласных(a,e,i,o,u) или согласных больше в этом множестве. помогите написать программу

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

textual
Листинг программы
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
int function(const char* text)
{
   const char CVowels[] = "aeiouy";
   int cnt = 0;
 
   for (; *text; ++text)
   {
      if (isalpha(*text))
      {
         if (strchr(CVowels, tolower(*text)))
         {
            cnt++;
         }
         else
         {
            cnt--;
         }
      }
   }
 
   return cnt;
}
 
int main()
{
   int result = function("Hello World");
 
   if (result > 0)
   {
      printf("vowels");
   }
   else if (result < 0)
   {
      printf("consonants");
   }
   else
   {
      printf("equally");
   }
 
   return 0;
}

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

В данном коде определена функция, которая подсчитывает количество гласных букв в переданной строке. Список гласных букв задан в виде массива CVowels, содержащего строку aeiouy. В основной функции main() вызывается функция function() с аргументом Hello World. Далее результат функции function() проверяется на положительность. Если результат больше нуля, то выводится сообщение vowels, если результат меньше нуля - выводится сообщение consonants, иначе выводится сообщение equally. Код не идеален и не оптимален, так как не учитывает регистр букв и не корректно обрабатывает случай, когда в строке присутствуют только согласные буквы или только гласные.

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


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

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

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