Найти сумму цифр заданного натурального числа - C (СИ)
Формулировка задачи:
Решение задачи: «Найти сумму цифр заданного натурального числа»
#include <stdio.h> int foo(const int x) { return x ? x % 10 + foo(x / 10) : 0; } int main(void) { printf("%d\n", foo(1232101)); return 0; }
Объяснение кода листинга программы
В данном коде на языке C представлена функция foo, которая принимает целочисленный аргумент x и возвращает сумму цифр этого числа. В функции используется принцип рекурсии, при этом условием для вызова рекурсивной функции является ненулевой аргумент x. Для получения суммы цифр числа применяется операция модуля 10 (x % 10), которая возвращает последнюю цифру числа, и затем рекурсивный вызов функции foo с аргументом x / 10, который равен оставшейся части числа, отбросив последнюю цифру. Если аргумент x равен нулю, то функция возвращает 0. В функции main создаётся целочисленная константа 1232101, значение которой передаётся в качестве аргумента в функцию foo. Результат работы функции foo выводится на экран с помощью функции printf. Результатом выполнения кода будет число 181, так как сумма цифр числа 1232101 равна 181.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д