Рекурсия: напечатать в обратном порядке последовательность чисел до 0 - C (СИ)
Формулировка задачи:
Задание 4: Рекурсия
Напечатать в обратном порядке последовательность чисел, признаком конца
которой является 0
Решение задачи: «Рекурсия: напечатать в обратном порядке последовательность чисел до 0»
textual
Листинг программы
#include <stdio.h>
void func() {
int ch;
if ((scanf("%d", &ch) == 1) && ch) {
func();
printf("%d ", ch);
}
}
int main() {
func();
return 0;
}
Объяснение кода листинга программы
В этом коде используется рекурсия для решения задачи последовательности чисел. Вот список действий, которые происходят в коде:
- В функции
mainвызывается функцияfunc. - Внутри функции
funcвыполняется условное выражение. - Если условие истинно, то выполняется операция сканирования ввода (
scanf) для получения числа. - Полученное число сохраняется в переменной
ch. - Затем вызывается функция
funcс помощью оператораrecursive. - Выполняется операция вывода (
printf) для числаch. - После завершения рекурсии возвращается значение 0, что приводит к завершению работы программы. Список действий:
- Включение заголовочного файла
stdio.h. - Объявление функции
func. - Внутри функции
funcобъявление переменнойchтипаint. - Условное выражение для проверки корректности ввода числа.
- Если условие истинно, то выполняется операция сканирования ввода (
scanf) для получения числа. - Полученное число сохраняется в переменной
ch. - Рекурсивный вызов функции
func. - Выполнение операции вывода (
printf) для числаch. - Возврат значения 0, что приводит к завершению работы программы.
- Вызов функции
funcв функцииmain. - Завершение работы программы.