Найти сумму цифр заданного натурального числа - C (СИ)

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

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

Найти сумму цифр заданного натурального числа На Си (функции и процедуры)

Решение задачи: «Найти сумму цифр заданного натурального числа»

textual
Листинг программы
#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.

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


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

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

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