| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1800 人关注过本帖
标题:关于求∏的值。。。
取消只看楼主 加入收藏
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
快速回复:关于求∏的值。。。
数据加载中...
 
   



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

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