Рекурсивная функция нахождения суммы цифр числа - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д