| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1921 人关注过本帖
标题:发一个求阶乘的程序!!!!大家来看看!!
取消只看楼主 加入收藏
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
收藏
 问题点数:0 回复次数:3 
发一个求阶乘的程序!!!!大家来看看!!
虽然这个程序很简单,但是我想,里面应该有一些能表现功力的细节问题,就好像strcpy函数一样。
所以,我写这个出来,请大家指正,如果有疏漏之处。
程序代码:
#include <stdio.h>
#include <ASSERT.H>

long fac(int n);

long fac(int n)
{
    assert(n >= 0);
    long sum = 1;
    int i;
    if (n > 0)
    {
        for (i=1; i<=n; i++)
        {
            sum *= i;
        }
    }
    return sum;
}

int main(void)
{
    long l;
    int n;
    
    scanf("%d", &n);
    
    printf("%ld\n", fac(n));
    
    return 0;
}


[[it] 本帖最后由 mqh21364 于 2008-5-28 15:11 编辑 [/it]]
搜索更多相关主题的帖子: int 阶乘 fac sum 
2008-05-28 15:09
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
收藏
得分:0 
哦,明白了,我搞错了,以为0的阶乘等于1呢!看来我的程序是有点问题的。
程序代码:
long fac(int n)
{
        assert(n >= 0);
        long sum = 1;
        int i;
        if (n  == 0) 
                sum = 0;
        for (i=1; i<=n; i++)
        {
                sum *= i;
         }
        return sum;
}
还有,3楼的兄弟,燕子说你越改越糟是因为你把我的断言给去掉了, 而且你的算不出来输入为0的结果。

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-05-29 09:31
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
收藏
得分:0 
是么???我都糊涂了。

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-05-29 12:34
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
收藏
得分:0 
呵呵,今天有点迷糊。

那么看来我的程序就是多了个if判断了。

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-05-29 13:16
快速回复:发一个求阶乘的程序!!!!大家来看看!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011960 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved