Дан текст на русском языке. Определить, каких букв больше –гласных или согласных - C (СИ)
Формулировка задачи:
Решение задачи: «Дан текст на русском языке. Определить, каких букв больше –гласных или согласных»
#include <stdio.h> #include <Windows.h> int main () { SetConsoleCP(1251); SetConsoleOutputCP(1251); char line[200]; //максимальное количество символов в каждой строке int vowel = 0; int consonant = 0; size_t sizeOfLine; while (fscanf(stdin,"%[^\n]", line) == 1) //считываем строку пока не встретим \n потом пропускаем его и читаем следующую { sizeOfLine = strlen(line); for(short i = 0; i < sizeOfLine; ++i)//ищем гласные switch(line[i]) { case 'а': case 'о': case 'у': case 'е': case 'и': case 'ы': case 'э': case 'ю': case 'я': ++vowel; break; default: if(line[i] >= -32 && line[i] <= -1) ++consonant; } } fprintf(stdout,"Гласных: %d\nСогласных: %d\n", vowel, consonant); if(vowel < consonant) fprintf(stdout,"Согласных больше на: %d\n", consonant - vowel); else fprintf(stdout,"Гласных больше на: %d\n", vowel - consonant); return 0; }
Объяснение кода листинга программы
В этом коде считывается текст из стандартного ввода до тех пор, пока не встретится символ новой строки. Размер каждой строки сохраняется в переменной sizeOfLine. Затем для каждого символа в строке проверяется, является ли он гласной. Если символ является гласной, то увеличивается значение переменной vowel. Если символ является согласной, то увеличивается значение переменной consonant. После проверки всех символов в строке, значения переменных vowel и consonant выводятся на стандартный вывод. Затем проверяется, какое из значений больше, и выводится сообщение о том, каких букв больше – гласных или согласных. В конце программы возвращается 0, что означает успешное завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д