#include
double fact(int n); //注意数据范围
double multi(int n);//注意数据范围
int main() //非标准写法
{
int i;
double sum,item,eps;
eps=1E-6;
sum=1;
item=1;
for(i=1; item>=eps; i++)
{
item=fact(i)/multi(2*i+1);
sum=sum+item;
}
printf("PI=%0.5lf\n",sum*2);
return 0;
}
double fact(int n)
{
int i;
double res=1;
for(i=1; i<=n; i++) //必须从1开始的
res=res*i;
return res;
}
double multi(int n)
{
int i;
double res=1;
for(i=3; i<=n; i=i+2)
res=res*i;
return res;
}