| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 542 人关注过本帖
标题:新手 程序请教大家帮助 谢谢
只看楼主 加入收藏
风之印
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-1-28
结帖率:0
收藏
已结贴  问题点数:10 回复次数:5 
新手 程序请教大家帮助 谢谢
#include <stdio.h>

int main(void) {

int number;
int result;
printf( "Enter a interger:");
scanf("%d",&number);
result=number;
while (number>=1) {
--number;
result= (result*number);}

printf(" the jiecheng is:%d" ,result);

return 0;
}

这个程序我想是求一下整数的阶乘,不知道为什么结果为啥老是0呢?谢谢大家
搜索更多相关主题的帖子: include number return result Enter 
2010-01-30 11:02
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:2 
#include <stdio.h>

int main(void) {

    int number;
    int result;
    printf( "Enter a interger:");
    scanf("%d",&number);
    result=1;
    while (number>=1) {
        --number;
        result+= (result*number);
    }

    printf(" the jiecheng is:%d" ,result);

    return 0;
}
2010-01-30 11:08
jiangwu10057
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:341
专家分:667
注 册:2009-3-25
收藏
得分:2 

照着楼上的改吧·

[ 本帖最后由 jiangwu10057 于 2010-1-30 11:46 编辑 ]
2010-01-30 11:28
swyjpbzdy
Rank: 1
等 级:新手上路
帖 子:8
专家分:6
注 册:2010-1-29
收藏
得分:2 
2楼我怎么看不像是求n!是不是看错了
楼主直接把number>=1改成number>=2就应该差不多了
2010-01-30 16:07
Devon_Ye
Rank: 4
来 自:广东
等 级:业余侠客
帖 子:124
专家分:282
注 册:2010-1-7
收藏
得分:2 
%d最多输出32767
控制好输入n的值,不要溢出了。
大数的阶乘,需要用到数组了表示了
2010-02-02 11:49
heartnheart
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
收藏
得分:2 
把n>=1改为n>=2即可,若是n>=1,则当n=1时 result = result * 0;
二楼result+= (result*number);
与result *= number+1是等价的,同样是求阶乘
2010-02-02 13:18
快速回复:新手 程序请教大家帮助 谢谢
数据加载中...
 
   



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

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