标题:个一关于阶乘相加的问题!我不知道为什么要定义成FLOAT
只看楼主
编程真难学啊
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-8-9
 问题点数:0 回复次数:4 
个一关于阶乘相加的问题!我不知道为什么要定义成FLOAT

main()
{
long k,t,s;
k=1;
t=1;
s=0;
while(t<=20)
{
k=k*t;
t++;
s=s+k;
}
printf("%d\n",s);
}
 
为什么要定义成FLOAT啊????我定义成LONG为什么就不行呢?
以下为答案:我觉得和我编的意思一样啊!
但不知为什么我的就不能得出正确结果来!
请高手指点一下!

main()
{
float n,s=0,t=1;
for(n=1;n<=20;n++)
 {
 t*=n;
 s+=t;
 }
printf("1+2!+3!...+20!=%e\n",s);

[此贴子已经被作者于2006-8-24 16:46:59编辑过]

搜索更多相关主题的帖子: FLOAT 定义 阶乘 相加 
2006-08-24 16:36
ynw520
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-8-24
得分:0 
数字太了

走自已的路,让别人去说吧!
2006-08-24 16:48
编程真难学啊
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-8-9
得分:0 
我才弄明白,原来这个结果已经超过LONG的定义范围了,我以为没有超过的!
没有想到这么大的数字!
2006-08-24 16:52
ynw520
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-8-24
得分:0 
这个问题,一看就知道了啊

走自已的路,让别人去说吧!
2006-08-24 19:00
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-08-24 20:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-85896-1-1.html




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

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