题目
求pi的近似值,用π/4=1-1/3+1/5-1/7+1/9-……这条公式来计算
解答
#include <stdio.h>
int main()
{
int i,n=1;
double sum=0,tmp=0,pi=0;//修正:float精度太小,应用double
for(i=1;i;i++)
{
tmp=sum;
if(i%2==0)
{
sum-=1/(double)n;
}
else
{
sum+=1/(double)n;
}
n=n+2;
if((sum-tmp)<0.00000001)//只想到了sum>tmp的情况,没想到sum-tmp为负值的情况。切记不要忘了!!!!!!(35分的题就因为这个 一直答案出来不到 切记)
if((sum-tmp)>-0.00000001)
break;
}
pi=sum*4;
printf("%.8f",pi);
return 0;
}
网友评论