Описать рекурсивную функцию, которая подсчитывает количество латинских букв в тексте - 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;
}

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


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

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

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