| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 835 人关注过本帖
标题:[求助]怎样确定一个精度
只看楼主 加入收藏
原汁原味
Rank: 1
来 自:湖南省永州市
等 级:新手上路
帖 子:62
专家分:0
注 册:2005-11-17
收藏
 问题点数:0 回复次数:4 
[求助]怎样确定一个精度
计算e=1+1/1!+1/2!+1/3!+1/4!+......+1/n!(精度为1e-6)
#include "stdio.h"
void main()
{
double sum=1.0;
int m=1,i,n;
while (sum>=1e-3)
{
for(i=n=1;i<=m;i++) n*=i;
sum+=1.0/n;
m++;
}
printf("e=%f\n",sum);
}
搜索更多相关主题的帖子: 精度 sum void double 
2007-10-12 11:17
cutboy
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2007-9-16
收藏
得分:0 
回复:(原汁原味)[求助]怎样确定一个精度
你的SUM不是已经上DOUBLE型了吗?可以了.打印时候也是按照DOUBLE型输出.

2007-10-12 12:08
jinxin3256
Rank: 1
等 级:新手上路
帖 子:196
专家分:0
注 册:2007-9-7
收藏
得分:0 
while (sum>=1e-3)
{
for(i=n=1;i<=m;i++) n*=i;
sum+=1.0/n;
m++;
}
死循环..while循环跳不出

代替leisure1980广告下: 群号45146331
2007-10-12 12:43
远去的列车
Rank: 1
等 级:新手上路
威 望:2
帖 子:205
专家分:0
注 册:2007-8-7
收藏
得分:0 
用 1/n! 来判断

[此贴子已经被作者于2007-10-12 12:56:39编辑过]



C++学习
2007-10-12 12:56
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 

精度判断:判断最末添加的项是否大于要求精度,如果大于这个精度,那继续计算,如果已经小于要求的精度,就可以结束了,例子在下边的程序(VC6测试通过)

#include <stdio.h>
long jiecheng(int i)
{
if(i<=1)
return(1);
else
return(jiecheng(i-1)*i);
}

int main(void)
{
int i=1;
double e=0.000001,sum=0,x=0;
while((x=(1.0/jiecheng(i++)))>e)
{
sum+=x;
}
printf("sum=%lf\n",sum);
return 0;
}


从BFS(Breadth First Study)到DFS(Depth First Study)
2007-10-12 13:07
快速回复:[求助]怎样确定一个精度
数据加载中...
 
   



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

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