作业帮 > 综合 > 作业

求pi问题c语言#include#includevoid main(){ int a, b ; double pi=0;

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 11:35:52
求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();

}
#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();
 
}这次是按你的改了