Рекурсивная функция нахождения суммы цифр числа - C (СИ)

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

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

Помогите, пожалуйста, написать рекурсивную функцию нахождения суммы цифр числа прототип функции void sum_cifr(int,int*);

Решение задачи: «Рекурсивная функция нахождения суммы цифр числа»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
void sum_cifr(int num, int * pCount) {
  if (num > 0) {
    *pCount += (num % 10);
    sum_cifr(num/10, pCount);
  }
}
 
int main() {
  int count = 0;
  sum_cifr(123, &count);
  printf("%d\n", count);
  return EXIT_SUCCESS;
}

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

  1. Подключение необходимых библиотек: iostream.h и stdlib.h
  2. Определение рекурсивной функции с названием sum_cifr, которая принимает два аргумента: целое число num и указатель на переменную count.
  3. Проверка условия: если num больше нуля, то происходит вычисление последней цифры числа и добавление ее к переменной count.
  4. Рекурсивный вызов функции sum_cifr с аргументами num/10 (деление числа на 10) и pCount.
  5. Спецификация прототипа функции main.
  6. Объявление переменной count типа int и инициализация ее значением 0.
  7. Вызов функции sum_cifr с аргументами 123 и адрес переменной count.
  8. Вывод значения переменной count на экран.
  9. Возврат значения EXIT_SUCCESS из функции main.

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


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

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

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