C语言-使用递归的方法求n!
2020-01-10 本文已影响0人
广陵周惊蛰
问题描述:使用递归的方法求n!
源代码:
/*使用递归的方法求n!*/
#include<stdio.h>
double fact (int n);
int main(void)
{
int n;
scanf("%d",&n);
printf("%f",fact(n));
return 0;
}
double fact(int n)
{
double result;
if(n==1||n==0)
result = 1;
else
result=n*fact(n-1);
return result;
}
运行结果:

程序心得:
递归函数编程时,要抓住递归方法的两个方法:递归出口和递归调用式子。
fact()函数中,定义了保存运算结果的变量result,并赋值result=n*fact(n-1),然后通过return result返回n!的结果。
注意:这里不能写成fact(n)=n*fact(n-1)
程序参数:
- 输出大小: 149.380859375 KiB
- 编译时间: 0.30s