Цикл: Составить алгоритм нахождения суммы цифр числа - 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; }
Объяснение кода листинга программы
- Включаем стандартную библиотеку для работы с консолью (stdio.h).
- Определяем функцию с именем digits_sum, которая принимает целое число в качестве аргумента и возвращает сумму его цифр.
- Используем оператор тернарного условия для рекурсивного вызова функции digits_sum. Если число больше 9, то функция разбивает число на две части: десятки и единицы, и добавляет значение единиц к результату рекурсивного вызова для десятки. Если число меньше или равно 9, то функция возвращает 0.
- В функции main() мы объявляем переменную типа unsigned с именем n для хранения введенного числа.
- Используем цикл while для получения числа от пользователя и вызова функции digits_sum.
- Выводим на экран введенное число и сумму его цифр.
- По завершении цикла while возвращаем 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д