Дана строка. Подсчитать количество содержащихся в ней прописных латинских букв - C (СИ)

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

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

Дана строка. Подсчитать количество содержащихся в ней прописных латинских букв. Помогите пожалуйста!!!!

Решение задачи: «Дана строка. Подсчитать количество содержащихся в ней прописных латинских букв»

textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
 
int count_if(const char * str, int (*func)(int)) {
    return ( *str ) ? !!func(*str) + count_if(str + 1, func) : 0;
}
 
int main(void) {
    char buf[BUFSIZ];
    
    while ( printf("Sring: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
        printf("%d upper letters\n", count_if(buf, isupper));
    
    return 0;
}

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

  1. В функции count_if используется функция isupper, которая принимает символ и возвращает 1, если символ является прописной латинской буквой, и 0 в противном случае.
  2. Функция count_if принимает два аргумента: строку, в которой нужно подсчитать количество прописных латинских букв, и функцию, которая принимает символ и возвращает 1, если символ является прописной латинской буквой.
  3. В функции main создается буфер, в который считывается строка из стандартного ввода.
  4. Пока пользователь вводит строки и нажимает Enter, программа выводит количество прописных латинских букв в введенной строке.

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


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

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

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