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;
}

运行结果:

使用递归的方法求n!

程序心得:

递归函数编程时,要抓住递归方法的两个方法:递归出口和递归调用式子。

fact()函数中,定义了保存运算结果的变量result,并赋值result=n*fact(n-1),然后通过return result返回n!的结果。

注意:这里不能写成fact(n)=n*fact(n-1)

程序参数:

上一篇 下一篇

猜你喜欢

热点阅读