Подсчитать сумму количества букв и количества гласных букв во введенном тексте - 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 выполняется подсчет количества букв и количества гласных букв в введенном тексте. Список функций и переменных:

  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
Похожие ответы