原文: https://beginnersbook.com/2014/06/c-program-to-find-factorial-of-number-using-recursion/

该程序提示用户输入任何整数,查找输入数的阶乘,并在屏幕上显示输出。我们将使用用户定义的递归函数来执行任务。这里我们有一个函数find_factorial,它以递归的方式调用自己,来找出输入数的阶乘。我们在下面的程序中涉及用户交互,但是如果你不想要那个部分,那么你可以简单地为变量num赋一个整数值并忽略scanf语句。简而言之,您可以以任何您想要的方式调整它,每种情况的逻辑都是相同的。

查找阶乘的程序

  1. /* Program Name: Find Factorial
  2. Written by: Chaitanya Singh
  3. Published on: beginnersbook.com
  4. */
  5. #include<stdio.h>
  6. int find_factorial(int);
  7. int main()
  8. {
  9. int num, fact;
  10. //Ask user for the input and store it in num
  11. printf("\nEnter any integer number:");
  12. scanf("%d",&num);
  13. //Calling our user defined function
  14. fact =find_factorial(num);
  15. //Displaying factorial of input number
  16. printf("\nfactorial of %d is: %d",num, fact);
  17. return 0;
  18. }
  19. int find_factorial(int n)
  20. {
  21. //Factorial of 0 is 1
  22. if(n==0)
  23. return(1);
  24. //Function calling itself: recursion
  25. return(n*find_factorial(n-1));
  26. }

输出:

  1. Enter any integer number: 4
  2. factorial of 4 is: 24