求pi问题c语言
#include
#include
void main()
{
int a, b ;
double pi=0;
for(a=1, b=3;fabs(pi)>1e-6;a=a+4, b=b+4)
{
pi = pi + (1/a + 1/b);
}
pi = pi * 4;
printf(%10.6lf, pi);
getchar();
}
求pi问题c语言#include#includevoid main(){ int a, b ; double pi=0;
答案:1 悬赏:30 手机版
解决时间 2021-05-22 06:59
- 提问者网友:回忆在搜索
- 2021-05-21 12:46
最佳答案
- 五星知识达人网友:未来江山和你
- 2021-05-21 14:08
#include<stdio.h>
#include<math.h>
void main()
{
//pi/4=1-1/3+1/5-1/7...公式求pi的近似值,当某一项的绝对值小于10-6为止
int a = 1, b = 3 ;
double pi=1.0;
double k = 1.0;
while(fabs(k)>1e-6){
a = -a ;
k = a*1.0/b;
pi += k;
b +=2;
}
pi = pi * 4;
printf("%10lf", pi);
getchar();
} 你对pi的求解理解有问题
再问: 我只想知道我的为什么不对,您的算法课本上有,能不能给点建设性意见
再答: 你的思路明显不对啊。计算过程是+ - + - 可是你的过程中有出现过负数吗?
再问: double pi=1; for(a=1, b=3;fabs(1/a)>1e-6;a=a+4, b=b+4) { pi = pi + (1/a - 1/b); } pi = (pi-1) * 4; printf(%lf, pi); getchar(); } 这是我改的没测试 你有c++6.0英文版吗我这没有编译器发到
再答: #include<stdio.h>
#include<math.h>
void main()
{
double pi=1;
int a ;
int b ;
for(a=-1, b=3;fabs(1.0/(a*b))>1e-6;a=-a, b=b+2)
{
pi = pi + (1.0/(a * b));
}
pi = pi * 4;
printf("%lf", pi);
getchar();
}这次是按你的改了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯