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