设为首页收藏本站

八达网

 找回密码
 注册
查看: 290|回复: 19
打印 上一主题 下一主题

c语言求助,50水晶

[复制链接]

2

主题

0

好友

2万

积分

大和

跳转到指定楼层
1
发表于 2008-10-18 23:56 |只看该作者 |倒序浏览
目标  e/4=1-1/3+1/5-1/7.............
           e=3.1415926




#include<stdio.h>
#include<math.h>
void main()
{
double a,b,c,d,e;
a=1;
b=-1/3;
c=3;
d=1;
for(;fabs(b)>1e-6;)
{
  a=a+b;
  d=-1*d;
  c=c+2;
  b=-d*(1/c);
}
e=a*4;
printf("%f,%f",e,a);
}


运行输出结果E=4 应该为3.1415926
程序错在那了?

20

主题

0

好友

8858

积分

大象

我没有风度 只有态度

2
发表于 2008-10-18 23:56 |只看该作者
。。。。
回复

使用道具 举报

280

主题

4

好友

3万

积分

大和

3
发表于 2008-10-19 00:04 |只看该作者
LZ你写程序都不带注释的? 看的头疼...我重新写了个你自己对照着看吧

#include <stdio.h>
#include <math.h>
main()
{
        float sum=0; //sum放和
        float a=1;   //a 模拟当前项分子
        int   b=1;   //b模拟分母
        float t=a/b; //t放当前项的值

        while(fabs(t)>0.0001)
        {
                sum+=t;
                a=-a;
                b+=2;
                t=a/b;
        }
        sum*=4 ;//把和乘4 求派
                printf("LZ求得派的值为: %f\n",sum);
}
回复

使用道具 举报

0

主题

0

好友

5707

积分

飞龙

4
发表于 2008-10-19 00:14 |只看该作者
LZ的处理部分有问题,尝试如下办法
有人写了,我就 不用废话了
回复

使用道具 举报

2

主题

0

好友

2万

积分

大和

5
发表于 2008-10-19 00:14 |只看该作者
为啥你写的就对了,我的咋错了,错在那了?
回复

使用道具 举报

1

主题

0

好友

2万

积分

大和

6
发表于 2008-10-19 00:15 |只看该作者
数据类型
回复

使用道具 举报

9

主题

0

好友

3万

积分

版主

我的心和星星在一起

Rank: 7Rank: 7Rank: 7

战队
=CHZ=
联赛ID
821
种族
Terran
7
发表于 2008-10-19 00:16 |只看该作者
。。。
回复

使用道具 举报

0

主题

0

好友

1万

积分

航母

8
发表于 2008-10-19 00:20 |只看该作者
回复

使用道具 举报

9

主题

0

好友

3万

积分

版主

我的心和星星在一起

Rank: 7Rank: 7Rank: 7

战队
=CHZ=
联赛ID
821
种族
Terran
9
发表于 2008-10-19 00:23 |只看该作者
复杂
回复

使用道具 举报

2

主题

0

好友

2万

积分

大和

10
发表于 2008-10-19 00:26 |只看该作者
我主要想知道我这么表达错在那了。
回复

使用道具 举报

280

主题

4

好友

3万

积分

大和

11
发表于 2008-10-19 00:28 |只看该作者
还没看出来?

b=-1/3;  错了 后面没细看
回复

使用道具 举报

5

主题

2

好友

4万

积分

光明执政官

12
发表于 2008-10-19 00:28 |只看该作者
循环没跑?
[img][/img]
回复

使用道具 举报

9

主题

0

好友

3万

积分

版主

我的心和星星在一起

Rank: 7Rank: 7Rank: 7

战队
=CHZ=
联赛ID
821
种族
Terran
13
发表于 2008-10-19 00:30 |只看该作者
。。。
回复

使用道具 举报

2

主题

0

好友

2万

积分

大和

14
发表于 2008-10-19 00:35 |只看该作者
让B=-1/3 然后执行 1+(-1/3)
然后循环,那错了,我水平低,你就直说哇。
回复

使用道具 举报

280

主题

4

好友

3万

积分

大和

15
发表于 2008-10-19 00:39 |只看该作者
你debug一下就知道拉
回复

使用道具 举报

19

主题

0

好友

4万

积分

大和

信义坊第一R

16
发表于 2008-10-19 00:55 |只看该作者
// b = -d*(1/c);
b = d*(1/c);
回复

使用道具 举报

头像被屏蔽

0

主题

0

好友

3821

积分

禁止访问

17
发表于 2008-10-19 03:35 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽

0

主题

0

好友

3821

积分

禁止访问

18
发表于 2008-10-19 03:41 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

52

主题

1

好友

2万

积分

大和

19
发表于 2008-10-19 10:04 |只看该作者
原帖由 纯洁的怪蜀黍 于 2008-10-19 03:35 发表
b = -1/3
实际上b所得到的值是0吧。

正街  LZ  可以输出  %f   d
d=0.000000
几度烟雾缭人梦~
几度春光醉人心~
几度飞歌碎人颜~
几度忧愁花人发~
宇宙第1星际站队[HS81]诚邀你的加入
回复

使用道具 举报

52

主题

1

好友

2万

积分

大和

20
发表于 2008-10-19 10:10 |只看该作者
本质上是  1/3  他是怎么取的问题
你懂?1和3都是正数
他是先按1/3  的数  也就是0

然后吧0 转化为 doublt类型
几度烟雾缭人梦~
几度春光醉人心~
几度飞歌碎人颜~
几度忧愁花人发~
宇宙第1星际站队[HS81]诚邀你的加入
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|八达网    

GMT+8, 2026-4-9 09:43

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部