Подсчитать сумму количества букв и количества гласных букв во введенном тексте - C (СИ)
Формулировка задачи:
Написать программу, которая запрашивает у пользователя текст, а затем подсчитывает в нем сумму количества букв и количества гласных букв.
операции подсчета количества чего-либо в строке должны быть реализованы в виде отдельных функций.
Решение задачи: «Подсчитать сумму количества букв и количества гласных букв во введенном тексте»
textual
Листинг программы
- #include <ctype.h>
- #include <stdio.h>
- #include <stdlib.h>
- #define MAX 128
- int GetCharsCount (const char *str);
- int GetVowelsCount(const char *str);
- int IsVowel(const char c);
- int main()
- {
- char str[MAX];
- fgets(str, MAX, stdin);
- printf("Chars:%d\nVowels:%d\n", GetCharsCount(str), GetVowelsCount(str));
- return 0;
- }
- int GetCharsCount (const char *str)
- {
- int counter = 0;
- const char *p;
- for (p = str; *p; ++p)
- if (isalpha(*p))
- counter++;
- return counter;
- }
- int GetVowelsCount(const char *str)
- {
- int counter = 0;
- const char *p;
- for (p = str; *p; ++p)
- if (IsVowel(*p))
- counter++;
- return counter;
- }
- int IsVowel(const char c)
- {
- static const char *vowels = "aeiouy";
- const char *p, cLow = tolower(c);
- for (p = vowels; *p; ++p)
- if (*p == cLow)
- return 1;
- return 0;
- }
Объяснение кода листинга программы
В этом коде на языке C выполняется подсчет количества букв и количества гласных букв в введенном тексте. Список функций и переменных:
- #include
- подключает функции для работы со строками и символами, включая функцию tolower()
для преобразования регистра символов. - #include
- подключает функции для ввода и вывода данных, включая функцию fgets()
для считывания строки из стандартного ввода. - #include
- подключает функции для работы с памятью и строками, включая функцию malloc()
для выделения памяти и функциюstrlen()
для подсчета длины строки. - #define MAX 128 - определяет максимальную длину строки, которую можно обработать.
- *int GetCharsCount (const char str);** - функция для подсчета количества символов в строке.
- *int GetVowelsCount(const char str);** - функция для подсчета количества гласных букв в строке.
- int IsVowel(const char c); - функция для проверки, является ли символ гласной буквой.
- int main() - точка входа в программу, где происходит считывание строки из стандартного ввода и вывод результатов. Список действий:
- В функции
main()
создается массив символовstr
максимальной длинойMAX
. - С помощью функции
fgets()
в этот массив считывается строка из стандартного ввода. - Функции
GetCharsCount()
иGetVowelsCount()
вызываются для подсчета количества символов и гласных букв в строке соответственно. - Результаты подсчета выводятся на экран с помощью функции
printf()
. - В функции
GetCharsCount()
создается переменнаяcounter
для подсчета количества символов. - В цикле
for
проходится по каждому символу строкиstr
. - Если символ является буквой (проверка
isalpha(*p)
), то увеличиваем счетчикcounter
. - В функции
GetVowelsCount()
создается переменнаяcounter
для подсчета количества гласных букв. - В цикле
for
проходится по каждому символу строкиstr
. - Если символ является гласной буквой (проверка
IsVowel(*p)
), то увеличиваем счетчикcounter
. - В функции
IsVowel()
создается переменнаяcLow
для преобразования регистра символаc
в нижний регистр. - В цикле
for
проходится по каждому гласному символу в массивеvowels
. - Если текущий гласный символ равен символу
cLow
, то возвращается значение1
. - В функции
main()
возвращается значение0
, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д