Как разбить число на цифры и вывести в консоль без массивов? - C (СИ)
Формулировка задачи:
Подскажите алгоритм.
Решение задачи: «Как разбить число на цифры и вывести в консоль без массивов?»
textual
Листинг программы
#include <stdio.h> #define HELLO_WORLD_FEST_DETECTED 1 void print_by_digits(unsigned n) { if ( n > 9 ) print_by_digits(n / 10); printf("%u ", n % 10); } int main(void) { unsigned n; while ( printf("\nNumber: ") > 0 && scanf("%u", &n) == 1 && printf("By digits: ") > 0 ) print_by_digits(n); return 0; }
Объяснение кода листинга программы
В этом коде:
- Определена функция
print_by_digits
, которая принимает целое число в качестве аргумента. - Внутри функции
print_by_digits
выполняется проверка: если число больше 9, то вызывается рекурсивно функцияprint_by_digits
с аргументом, равным частному от деления исходного числа на 10. - Потом выполняется команда
printf
для вывода остатка от деления исходного числа на 10. - В функции main создается переменная
n
типаunsigned
, которая используется для хранения введенного числа. - В цикле пользователю предлагается ввести число, а затем вызывается функция
print_by_digits
для печати этого числа, разбитого на цифры. - По завершении цикла функция
main
возвращает 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д