Описать рекурсивную функцию, которая подсчитывает количество латинских букв в тексте - C (СИ)
Формулировка задачи:
Описать рекурсивную функцию abc, которая подсчитывает количество латинских букв в тексте. Текст завершается точкой
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#define N 5
int fl=0; //Внешняя переменная - флажок
void inp_mas(int x[]) //Функция ввода массива
{
int i; //Рабочая переменная
printf("Введите %d элементов массива:\n",N);
for (i=0; i<N; i++)
scanf("%d", &x[i]); //Ввод элемента массива
}
int sum_abc(int x[], int n) //Рекурсивная функция для подсчета латинских букв в тексте
if(n<0)
return 0; //Возвращает ноль если элементы закончились (условие завершения рекурсии)Решение задачи: «Описать рекурсивную функцию, которая подсчитывает количество латинских букв в тексте»
textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
#include <locale.h>
#include <string.h>
int get_sum_latin_chars(const char *str) {
if (*str == ',' || *str == '.' || *str == ';' || *str == '\0')
return 0;
else if (isalpha(*str)) {
return 1 + get_sum_latin_chars(++str);
} else
return get_sum_latin_chars(++str);
}
int main() {
char*s = "mama myla ramy hhj hh..h ";
printf("Сумма латинских букв = %d.\n", get_sum_latin_chars(s));
return 0;
}