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

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

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

Ввести с клавиатуры строку текста. Подсчитать количество согласных букв в строке. Помогите...

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

textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
#include <string.h>
 
int count_nv(const char* s){
    int c, n = 0;
    const char vs[] = "AEIOYU";
 
    while(*s){
        if(isalpha(*s)){
            c = *s;
            if(islower(c))
                c = toupper(c);
 
            if(strchr(vs, c) == NULL)
                ++n;
        }
        ++s;
    }
    return n;
}
 
int main(void){
    char s[64] = "ABCDEF(O)W";
/*
    printf("Enter str: ");
    fgets(s, sizeof(s), stdin);
*/
    printf("count: %d\n", count_nv(s));
    return 0;
}

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

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

  1. Включение необходимых заголовочных файлов:
    • stdio.h - для использования функций ввода-вывода;
    • ctype.h - для использования функций работы с символами;
    • string.h - для использования функций работы со строками.
  2. Объявление функции count_nv, которая принимает указатель на строку и считает количество согласных букв в ней.
  3. Создание локальной переменной c типа int для хранения текущей буквы.
  4. Создание локальной переменной n типа int для хранения количества согласных букв.
  5. Создание константной строки vs, которая содержит гласные буквы в верхнем регистре.
  6. В цикле while происходит последовательный перебор символов входной строки s.
  7. С помощью условного оператора if проверяется, является ли текущий символ буквой.
  8. Если символ является буквой, то он преобразуется в верхний регистр и проверяется, является ли он гласной буквой.
  9. Если символ не является гласной буквой, то увеличивается счетчик n.
  10. В основной функции main создается массив символов s типа char для хранения строки.
  11. Комментарий позволяет ввести строку с клавиатуры, но в данном случае строка уже задана в коде.
  12. Вызывается функция count_nv с передачей ей указателя на строку s.
  13. Выводится результат подсчета согласных букв в строке.
  14. Функция main возвращает 0, что означает успешное завершение работы программы.

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


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

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

12   голосов , оценка 3.833 из 5
Похожие ответы