这个程序就可以了,i<1000000后面的这个数字可以你自己改的,改得越大就越接近,不过运行时间会增加
#include
void main()
{
double pi=0.0,i=1.0,j=1.0;
for(;i<1000000;i+=2,j=-j)
pi+=1/(i*j);
pi=pi*4;
printf("pi=%lf",pi);
}
感觉 zelon19890311 | 八级 的就很好了 程序挺好理解的
void main()
{ double pi=0;
int k,i,n=1;
scanf("%d",&k)//输入k控制精确值,k越大,越精确。
for(i=1;i
printf("%d",pi*4);
}
问题是 double 本身的精度
#include
main( )
{ intn=1;
float s=1.0,pi=1.0,t;
do
{ n+=2;
s=-s;
t=s/n;
pi+=t;
}while((fabs(t))<=1e-6);
printf("pi=%10.6f\n",pi*4);
}