首页 > 编程语言 > 详细

【C语言】利用递归函数求n的阶乘

时间:2019-12-16 17:00:36      阅读:782      评论:0      收藏:0      [点我收藏+]

递归实现n的阶乘

    什么是阶乘:0!= 1,n!=n * (n - 1) * (n - 2)......3 * 2 * 1;

  解题思路: 1> 分析题意,很明显0是递归出口;
                     2> 很好看出,递归调用自己,直到n等于0,返回之前的函数,直到最后一个;
                     3> 一个简单n的阶乘就计算完成,返回并输出。
代码:

#include<stdio.h>
int f(int n)/*递归函数*/
{
    int fac;
    if (n < 0)
        printf("n<0,data error!");
    else
        if (n == 0 || n == 1)
            fac = 1;
        else
            fac = f(n - 1) * n;
    return fac;
}
int main()
{
    int n, y;
    printf("请输入一个整数:\n");
    scanf_s("%d", &n);
    y = f(n);
    printf("%d!=%d", n, y);
    return 0;
}

【C语言】利用递归函数求n的阶乘

原文:https://www.cnblogs.com/HGNET/p/12049677.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!