Посчитать факториал в отдельной функции - C (СИ)
Формулировка задачи:
Помогите, пожалуйста, решить задачу. Для сайта contester.ru
Вводится целое число A. Выведите его факториал. Все операции ввода и вывода должны находиться в функции main, а все рассчёты -- в отдельной функции.
Спасибо!
Ввод
Ввод содержит A(0 < A < 12).Вывод
Выведите A!.Ввод |
12 |
Вывод |
479001600 |
Решение задачи: «Посчитать факториал в отдельной функции»
textual
Листинг программы
#include<stdio.h> #include <conio.h> int factr(int n); main() { int a; printf("Input a "); scanf("%d",&a);; printf("a!= %d ",factr(a)); getchar(); getchar(); return 0; } /* рекурсивная функция */ int factr(int n) { int answer; if(n==1) return(1); answer = factr(n-1)*n; /* рекурсивный вызов */ return(answer); }
Объяснение кода листинга программы
В этом коде:
- В функции
main()
программа запрашивает у пользователя ввод целого числа с помощью функцииscanf()
. - Затем она вызывает функцию
factr(a)
, чтобы вычислить факториал числаa
, и выводит результат с помощьюprintf()
. - В функции
factr(n)
используется рекурсивный подход для вычисления факториала числаn
. - Если
n
равно 1, функция возвращает 1. - В противном случае, она вызывает саму себя с аргументом
n-1
и результатом этого вызова умножаетn
. - Полученный результат возвращается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д