标题:关于求∏的值。。。
取消只看楼主
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
结帖率:100%
已结贴  问题点数:20 回复次数:7 
关于求∏的值。。。
#include<stdio.h>
# include<math.h>
void main()
{
    long s ;
    long double n,t,pi;
    t=1;pi=0;n=1.0;s=1;
    while(fabs(t)>1e-6)
    {
        pi=pi+t;n=n+2;s=-s;t=s/n;
    }
    pi=pi*4;
    printf("pi=%10.6f\n",pi);
}   
得出

如果把long改为int long double改为float就会得到3.141594.。
这是为什么呢。。有点不明白。。望高手解答一下。。
我又用for 编了一个
#include<stdio.h>
#include<math.h>
void main()
{
    int s;
    float n,t,pi;
    for(t=1,pi=0,n=1,s=1;fabs(t)>1e-6;pi=pi+t,n=n+2,s=-s,t=s/n)
    continue;
    pi=pi*4;
    printf("pi=%10.6f\n",pi);
}   
    为什么输出为3.141594而不是3.141593
很费解。。

[ 本帖最后由 LEED 于 2009-10-2 11:37 编辑 ]
搜索更多相关主题的帖子: include double long 
2009-10-02 10:50
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
得分:0 
回复 2楼 m456m654
我也觉得是。。
能详细的解释一下吗?初学C。。有点不明白。。
2009-10-02 11:11
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
得分:0 
回复 4楼 m456m654
呵呵。。还是谢谢你哦。。
为什么我输出的结果是3.141594而不是3.141593.。
2009-10-02 11:27
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
得分:0 
回复 6楼 m456m654
还是不行啊。。。。还是那个结果。。
2009-10-02 11:33
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
得分:0 
回复 8楼 m456m654
呵呵。。。能得出结果。。。不过是3.141591.。你运行的是3.141593?
可能和编译工具有关吧。。我用的是TC&C++3.0
2009-10-02 13:02
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
得分:0 
回复 11楼 flyingcloude
谢谢了。。初学者很菜啊。。那究竟怎么改啊?
2009-10-02 13:48
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
得分:0 
回复 10楼 m456m654
呵呵。。按你意识把e6改成e8得出3.1415923了  谢谢了。。终于弄懂了一点。。
2009-10-02 13:54
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
得分:0 
回复 14楼 flyingcloude
呵呵。。真厉害。
为什么要用大写的L啊?
2009-10-02 18:47



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




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

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