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

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

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

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

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void sum_cifr(int num, int * pCount) {
  5.   if (num > 0) {
  6.     *pCount += (num % 10);
  7.     sum_cifr(num/10, pCount);
  8.   }
  9. }
  10.  
  11. int main() {
  12.   int count = 0;
  13.   sum_cifr(123, &count);
  14.   printf("%d\n", count);
  15.   return EXIT_SUCCESS;
  16. }

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы