Подсчитать сумму количества букв и количества гласных букв во введенном тексте - C (СИ)

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

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

Написать программу, которая запрашивает у пользователя текст, а затем подсчитывает в нем сумму количества букв и количества гласных букв.

операции подсчета количества чего-либо в строке должны быть реализованы в виде отдельных функций.

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

textual
Листинг программы
  1. #include <ctype.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #define MAX 128
  5.  
  6. int GetCharsCount (const char *str);
  7. int GetVowelsCount(const char *str);
  8. int IsVowel(const char c);
  9.  
  10. int main()
  11. {
  12.     char str[MAX];
  13.     fgets(str, MAX, stdin);
  14.     printf("Chars:%d\nVowels:%d\n", GetCharsCount(str), GetVowelsCount(str));
  15.     return 0;
  16. }
  17.  
  18. int GetCharsCount (const char *str)
  19. {
  20.     int counter = 0;
  21.     const char *p;
  22.     for (p = str; *p; ++p)
  23.         if (isalpha(*p))
  24.             counter++;
  25.     return counter;
  26. }
  27.  
  28. int GetVowelsCount(const char *str)
  29. {
  30.     int counter = 0;
  31.     const char *p;
  32.     for (p = str; *p; ++p)
  33.         if (IsVowel(*p))
  34.             counter++;
  35.     return counter;
  36. }
  37.  
  38. int IsVowel(const char c)
  39. {
  40.     static const char *vowels = "aeiouy";
  41.     const char *p, cLow = tolower(c);
  42.     for (p = vowels; *p; ++p)
  43.         if (*p == cLow)
  44.             return 1;
  45.     return 0;
  46. }

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

В этом коде на языке C выполняется подсчет количества букв и количества гласных букв в введенном тексте. Список функций и переменных:

  1. #include - подключает функции для работы со строками и символами, включая функцию tolower() для преобразования регистра символов.
  2. #include - подключает функции для ввода и вывода данных, включая функцию fgets() для считывания строки из стандартного ввода.
  3. #include - подключает функции для работы с памятью и строками, включая функцию malloc() для выделения памяти и функцию strlen() для подсчета длины строки.
  4. #define MAX 128 - определяет максимальную длину строки, которую можно обработать.
  5. *int GetCharsCount (const char str);** - функция для подсчета количества символов в строке.
  6. *int GetVowelsCount(const char str);** - функция для подсчета количества гласных букв в строке.
  7. int IsVowel(const char c); - функция для проверки, является ли символ гласной буквой.
  8. int main() - точка входа в программу, где происходит считывание строки из стандартного ввода и вывод результатов. Список действий:
  9. В функции main() создается массив символов str максимальной длиной MAX.
  10. С помощью функции fgets() в этот массив считывается строка из стандартного ввода.
  11. Функции GetCharsCount() и GetVowelsCount() вызываются для подсчета количества символов и гласных букв в строке соответственно.
  12. Результаты подсчета выводятся на экран с помощью функции printf().
  13. В функции GetCharsCount() создается переменная counter для подсчета количества символов.
  14. В цикле for проходится по каждому символу строки str.
  15. Если символ является буквой (проверка isalpha(*p)), то увеличиваем счетчик counter.
  16. В функции GetVowelsCount() создается переменная counter для подсчета количества гласных букв.
  17. В цикле for проходится по каждому символу строки str.
  18. Если символ является гласной буквой (проверка IsVowel(*p)), то увеличиваем счетчик counter.
  19. В функции IsVowel() создается переменная cLow для преобразования регистра символа c в нижний регистр.
  20. В цикле for проходится по каждому гласному символу в массиве vowels.
  21. Если текущий гласный символ равен символу cLow, то возвращается значение 1.
  22. В функции main() возвращается значение 0, что означает успешное выполнение программы.

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


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

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

6   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы