作业帮 > 综合 > 作业

求pi的近似值#include #include void main() { int i=1; double sum=0

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/02 00:27:42
求pi的近似值
#include
#include
void main()
{
int i=1;
double sum=0;
double pi=0,t;
do
{
sum=sum+1/(float)(i*i);
i++;
pi=sqrt(6*sum);
t=pi-3.14159165;
}while(fabs(t)>=1e-5);
printf("%f",pi);
}
为何输不出东西来?错在哪里了?
你pi计算的公式错误.
即使累加
sum值不会超过3;
死循环;
求pi的公式应该为
pi*4=1-1/3+1/5-1/7+1/9...
程序如下
#include
#include
void main()
{
int i=1;
double sum=1;
double pi=0,t;
do
{
if(i%2==0)
sum=sum+1/(float)(2*i+1);
else
sum=sum-1/(float)(2*i+1);
i++;
pi=4*sum;
t=pi-3.14159165;
}while(fabs(t)>=1e-5);
printf("%f\n",pi);
}
可以输出pi值
精度为
1e-5