| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6026 人关注过本帖
标题:求教有关C语言,输入一个精度 eps,用莱布尼茨公式,估算 Pi 值
取消只看楼主 加入收藏
wfjimy
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2014-5-15
结帖率:100%
收藏
已结贴  问题点数:15 回复次数:5 
求教有关C语言,输入一个精度 eps,用莱布尼茨公式,估算 Pi 值
莱布尼茨公式:
http://zh.
代码如下,程序可以运行,但是输入任意精度,输出的pi值都是0.767116.. 初学者求教。。



#include <stdio.h>
double eps; //精度
double sum=0.0; //最终输出的pi值
double pi (double eps,double sum)
{
    double numerator=1.0; //分子
    double denominator=1.0;  //分母
    double summand =0.0;  //被加数
    double sign=1.0; //符号

     do {

        summand= numerator/denominator;
        sum=sum+summand*sign;
        sign=sign*(-1);
        denominator=2*denominator+1;
     }
     while(eps<summand);

return sum;
}
int main()
{
    printf("please enter the precision of pi:\n");
    scanf("%lf",&eps);
    sum=4*sum;
    printf("Approximation of pi is %lf\n",pi(eps,sum));
    return 0;
}
搜索更多相关主题的帖子: 莱布尼茨 include double C语言 
2014-05-15 13:53
wfjimy
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2014-5-15
收藏
得分:0 
回复 2 楼 wp231957
这个程序没有用到精度,我后来照这程序加了printf,scanf,但程序无论如何改变精度,都输出3.141591
2014-05-15 16:36
wfjimy
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2014-5-15
收藏
得分:0 
回复 3 楼 top398
不知道为什么这个程序可能有问题,输出的pi值不正确,而且无论输入什么精度,输出都是小数点后6位
2014-05-15 16:39
wfjimy
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2014-5-15
收藏
得分:0 
回复 7 楼 wp231957
程序还是不行。。题目要求是,例如:输入精度为0.001,输出pi为3.141592,输入精度为0.1,输出pi为3.14
2014-05-15 18:08
wfjimy
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2014-5-15
收藏
得分:0 
回复 9 楼 top398
如果我想求小数点后20位,怎么改程序呢
2014-05-15 18:27
wfjimy
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2014-5-15
收藏
得分:0 
回复 10 楼 top398
能写一下代码吗,初学者理解有点困难,谢谢😊
2014-05-15 19:25
快速回复:求教有关C语言,输入一个精度 eps,用莱布尼茨公式,估算 Pi 值
数据加载中...
 
   



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

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