| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12955 人关注过本帖
标题:π/4≈1-1/3+1/5-1/7+...公式求π的近似值,直到某一项的绝对值小于1e-6
取消只看楼主 加入收藏
xdf191
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-7-17
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
π/4≈1-1/3+1/5-1/7+...公式求π的近似值,直到某一项的绝对值小于1e-6
#include<stdio.h>
#include<math.h>
void main()
{
int sign=1;
 float sum,term,deno;
 deno=1;term=1.0;sum=0;
 while(fabs(term)>1e-6)
 {
    sum=sum+term;
    deno=deno+2;
   sign=-sign;
   term=sign/deno;

 }
 sum=sum*4;
 printf("sum=%10.6f\n",sum);
}
得到结果π=3.141594 明显不对 为什么 求解?
搜索更多相关主题的帖子: include 绝对值 
2012-07-21 15:41
xdf191
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-7-17
收藏
得分:0 
常理π=3.1415926 保留6位小数 应是3.141593  我尝试着用double类型 结果 3.141591 大概 还有一些地方 我不懂
2012-07-21 16:38
xdf191
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-7-17
收藏
得分:0 
7楼 大侠 什么意思? 学的浅了些 请说的仔细些 行吗?
2012-07-21 21:41
xdf191
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-7-17
收藏
得分:0 
其实 这行代码 出自 C语言程序设计(第三版谭浩强)6.9章节中的一个例题 当时也就这样认为 大师写的代码 不用运行 还是正确的
暑假看书 自己上机运行了哈 结果 就像诸位看到的这样 问题挺多的
2012-07-22 11:03
xdf191
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-7-17
收藏
得分:0 
1楼代码不是你自己写的吗?
while(fabs(term)>1e-6)
这个while()循环的结束条件,term是什么?这个条件不满足,就结束循环,你到循环结束之后,把term打印出来,不就知道程序是不是按你写的执行了吗。回头再看看题目,“直到某一项的绝对值小于1e-6”,这是说π还是说term?你自己在最后都知道sum=sum*4,乘以4了有不应该有点偏差吗?

term变量指某一项 所以,“直到某一项的绝对值小于1e-6”,条件是指的是 term
2012-07-22 11:07
xdf191
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-7-17
收藏
得分:0 
程序没问题 为什么得到的结果 不对 版主能不能给一个浅显易懂的解释 深奥的我不是很懂
2012-07-22 16:11
xdf191
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-7-17
收藏
得分:0 
嗯 谢谢哈
2012-07-23 21:36
快速回复:π/4≈1-1/3+1/5-1/7+...公式求π的近似值,直到某一项的绝对值小于1e ...
数据加载中...
 
   



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

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