正文

[071] 递归法求阶乘2006-11-19 20:31:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wentao/20493.html

分享到:

《C程序设计第二版》(谭浩强)



[相关] [033] 阶乘->数据的范围

n!的递归公式:

   ┌ 1             (n = 0, 1)
n!=ㄧ
   └ n * (n - 1)!  (n > 1)

#include <stdio.h>

float fac(int n)
{
    float f;
    if(n < 0)
        printf("n < 0, error!");
    else
        if(n == 0 || n == 1)
            f = 1;
        else
            f = fac(n - 1) * n;
    return f;
}

int main(void)
{
    int n;
    float y;
    printf("input a integer:");
    scanf("%d", &n);
    y = fac(n);
    printf("%d!=%-20.0f\n", n, y);
    return 0;
}

运行结果(VC):
==========================
input a integer:20↙
20!=2432902023163674600
==========================

阅读(6694) | 评论(6)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册