Дана строка. Подсчитать количество содержащихся в ней прописных латинских букв - 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;
}
Объяснение кода листинга программы
- В функции
count_ifиспользуется функцияisupper, которая принимает символ и возвращает 1, если символ является прописной латинской буквой, и 0 в противном случае. - Функция
count_ifпринимает два аргумента: строку, в которой нужно подсчитать количество прописных латинских букв, и функцию, которая принимает символ и возвращает 1, если символ является прописной латинской буквой. - В функции
mainсоздается буфер, в который считывается строка из стандартного ввода. - Пока пользователь вводит строки и нажимает Enter, программа выводит количество прописных латинских букв в введенной строке.