Посчитать факториал в отдельной функции - 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);
}

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

В этом коде:

  1. В функции main() программа запрашивает у пользователя ввод целого числа с помощью функции scanf().
  2. Затем она вызывает функцию factr(a), чтобы вычислить факториал числа a, и выводит результат с помощью printf().
  3. В функции factr(n) используется рекурсивный подход для вычисления факториала числа n.
  4. Если n равно 1, функция возвращает 1.
  5. В противном случае, она вызывает саму себя с аргументом n-1 и результатом этого вызова умножает n.
  6. Полученный результат возвращается.

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


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

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

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