Рекурсивная функция нахождения суммы цифр числа - 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; }
Объяснение кода листинга программы
- Подключение необходимых библиотек: iostream.h и stdlib.h
- Определение рекурсивной функции с названием sum_cifr, которая принимает два аргумента: целое число num и указатель на переменную count.
- Проверка условия: если num больше нуля, то происходит вычисление последней цифры числа и добавление ее к переменной count.
- Рекурсивный вызов функции sum_cifr с аргументами num/10 (деление числа на 10) и pCount.
- Спецификация прототипа функции main.
- Объявление переменной count типа int и инициализация ее значением 0.
- Вызов функции sum_cifr с аргументами 123 и адрес переменной count.
- Вывод значения переменной count на экран.
- Возврат значения EXIT_SUCCESS из функции main.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д