| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1065 人关注过本帖
标题:关于while循环的问题?
只看楼主 加入收藏
半片叶zick
Rank: 2
等 级:论坛游民
帖 子:53
专家分:44
注 册:2010-11-30
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:14 
关于while循环的问题?
#include<stdio.h>
#include<math.h>
main()
{
    float i,sum,n=1,a;
    sum=0;
    i=0;
    while(fabs(a)<le-4)
    {
        sum+=a;
        n=-n;
        i++;
        a=(1/(2*i+1))*n;
    }
    sum*=4;
    printf("%.4f\n",sum);

}

执行出现一个错误显示是: error C2065: 'le' : undeclared identifier
实在想不出什么错误。
这个题目是:公式pi/4=1-1/3+1/5-1/7+1/9....求pi的近似值,直到最后一项的绝对值小于le-4为止。
注:这个题目是我自己想的解决办法,书上的算法不谈。我无分,给10意思下,帮我看下,谢谢了。(针对我的算法改正下)
搜索更多相关主题的帖子: 绝对值 
2010-12-02 13:06
humin_qin
Rank: 2
等 级:论坛游民
帖 子:22
专家分:37
注 册:2010-11-20
收藏
得分:10 
那个不是L而是壹所以会提示未声明
#include<stdio.h>
#include<math.h>
main()
{
    float i,sum,n=1,a;
    sum=0;
    i=0;
    while(fabs(a)<1e-4)
    {
        sum+=a;
        n=-n;
        i++;
        a=(1/(2*i+1))*n;
    }
    sum*=4;
    printf("%.4f\n",sum);

}
字母“l”,数字1区别,仔细看。
2010-12-02 13:16
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
楼上正解

我是初学者
2010-12-02 13:28
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
收藏
得分:0 
悲剧..
2010-12-02 13:40
wjfdwr
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-12-2
收藏
得分:0 
这个真该注意············
2010-12-02 14:50
humin_qin
Rank: 2
等 级:论坛游民
帖 子:22
专家分:37
注 册:2010-11-20
收藏
得分:0 
#include<stdio.h>
#include<math.h>
void main()
{   int i;
    double sum=0.0,a=1,PI,b,s;
    for(i=0;fabs(s)>=1e-4;i++)
    {
        a=pow((2*i+1),-1);
        b=pow(-1,i);
        s=a*b;
        sum+=(s);
    }
        PI=sum*4;
        printf("%.4f\n",PI);

}
//pi/4=1-1/3+1/5-1/7+1/9……
程序的写法
2010-12-02 16:31
半片叶zick
Rank: 2
等 级:论坛游民
帖 子:53
专家分:44
注 册:2010-11-30
收藏
得分:0 
谢谢各位。没想到这么纠结啊。1和l完全一样,懂了,thanks!
2010-12-02 16:47
guxinglei132
Rank: 2
等 级:论坛游民
帖 子:43
专家分:69
注 册:2010-10-19
收藏
得分:0 
你这个程序有很多的毛病 首先浮点型的赋值就不对 运算顺序也不对 以下是正解 经测试
#include<stdio.h>
#include<math.h>
main()
{
    float sum=0.0,n=1.0,a=1.0;
    int i=0;
    while(fabs(a)>1e-4)
    {
        a=1/((2*i+1)*n);
        sum+=a;
        n=-n;
        i++;
    }
    sum*=4;
    printf("%.6f\n",sum);

}

2010-12-02 17:56
guxinglei132
Rank: 2
等 级:论坛游民
帖 子:43
专家分:69
注 册:2010-10-19
收藏
得分:0 
哎。。 问题其实还没有解决 为啥就急着给分啊 我的分啊。。。。
2010-12-02 17:57
fy8207345
Rank: 2
等 级:论坛游民
帖 子:37
专家分:64
注 册:2010-10-12
收藏
得分:0 
#include<stdio.h>
#include<math.h>
main()
{
    float i=0.0,sum=0.0,n=1.0,a;
    while(fabs(a)>1e-4)
    {
        a=(1/(2*i+1))*n;
        sum+=a;
        n=-n;
        i++;  
    }
    sum*=4;
    printf("%10.6f\n",sum);
}
2010-12-02 22:26
快速回复:关于while循环的问题?
数据加载中...
 
   



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

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