Определить каких букв больше - гласных или согласных - 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
.
Код не идеален и не оптимален, так как не учитывает регистр букв и не корректно обрабатывает случай, когда в строке присутствуют только согласные буквы или только гласные.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д