#include
#include
int main()
{
float PI;
int x,n;
x=3;
n=1;
PI=1;
do
{
PI+=pow(-1,n)/x;
x=x+2;
n++;
}while(1.0/x>1e-8);
printf("PI=%7.5f\n",4.0*PI);
return 0;
}
回答:你这是用泰勒逼近计算对吧,你的精度定的太高,计算机计算需要一些时间,代码是没问题的
#include <stdio.h>
#include <math.h>
int main()
{
float PI;
int x, n;
x = 3;
n = 1;
PI = 1;
do
{
PI += pow(-1, n) / x;
x = x + 2;
n++;
} while (1.0 / x > 1e-8);
printf("Over\n");
printf("PI=%7.5f\n", 4.0 * PI);
return 0;
}