估算圆周率 pi 精确度不够的问题
#include <stdio.h>#define M 1e-6
int main(void) {
int sign=1;
double i,pi=0;
for(i=1;(double)fabs(1/i)>M;i++,i++)
{
pi=pi+sign*(double)1/i;
sign=-sign;
}
pi=4*pi;
printf("%10.8f",pi);
return 0;
}
通过公式pi/4≈1-1/3+1/5-1/7.....估算pi的值,直到某一项的绝对值小于1e-6