标题:[求助]求e值程序
只看楼主
yjh8656
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2007-3-6
 问题点数:0 回复次数:6 
[求助]求e值程序
一个练习题目e=1+1/1+1/2!+1/3!…… 就当它是+到1/c!
我是这样编的:
#include"stdio.h"
main()
{
int a,b,c;
float d,e;
a=1;
b=1;
scanf("%d",&c);
while(c>0&&a<=c)
{
b=a*b;
a++;
d=1/b;
e=d+d;
}
printf("e=%f",e);
}
运行结果是2.000000, 就是说小数部分没有算出来, 请大家帮我看下哪里出了问题,谢谢大家
搜索更多相关主题的帖子: 小数 float 
2007-03-23 21:54
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
得分:0 
注意 整数/整数--&gt;整数

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-23 22:09
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
得分:0 
d=1/b;

当b>1时,结果是d=0!

要改成:d=1.0/b;

自我放逐。。。
2007-03-23 22:16
yjh8656
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2007-3-6
得分:0 
哦 对了  谢谢  看来我看书不系统   改了一下 都用float 定义  1用1.000000 代  出来了  谢谢
2007-03-23 22:16
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
得分:0 

这是我写的
#include<stdio.h>

int main()
{
long long cheng =1,i;
double he=1,sum=0;

for (i=1;i<=50;i++)
{
cheng =cheng*i;
he=he +1.0/(float)cheng;
printf("%f\n",he);
}
getchar();
return 0;
}


麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2007-03-23 22:23
yelang7
Rank: 1
等 级:新手上路
威 望:1
帖 子:265
专家分:0
注 册:2006-11-3
得分:0 

哈哈,我觉得大家C!的阶乘中的C的定义有点问题吧,1/C!的阶乘的在C为大是最接近0,好象大家都考虑掉了吧,我记得好象是在小于e的-6次方的时候,是最接近于0,我觉得还是要把这点考虑进去的吧???


想象和行动一致,做最棒的 IT 人. http://yelang7.
2007-03-23 23:29
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
得分:0 
LS 说得不错.

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-03-24 00:05



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




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

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