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

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

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

Составить алгоритм нахождения суммы цифр числа

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

textual
Листинг программы
#include <stdio.h>
 
unsigned digits_sum(unsigned n) { return ( n ) ? n % 10 + digits_sum(n / 10) : 0; }
 
int main(void) {
    unsigned n;
    
    while ( printf("Number: ") && scanf("%u", &n) == 1 )
        printf("Sum of digits: %u\n", digits_sum(n));
        
    return 0;
}

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

  1. Включаем стандартную библиотеку для работы с консолью (stdio.h).
  2. Определяем функцию с именем digits_sum, которая принимает целое число в качестве аргумента и возвращает сумму его цифр.
  3. Используем оператор тернарного условия для рекурсивного вызова функции digits_sum. Если число больше 9, то функция разбивает число на две части: десятки и единицы, и добавляет значение единиц к результату рекурсивного вызова для десятки. Если число меньше или равно 9, то функция возвращает 0.
  4. В функции main() мы объявляем переменную типа unsigned с именем n для хранения введенного числа.
  5. Используем цикл while для получения числа от пользователя и вызова функции digits_sum.
  6. Выводим на экран введенное число и сумму его цифр.
  7. По завершении цикла while возвращаем 0, что означает успешный конец работы программы.

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


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

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

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