效果截图:
程序代码如下:#include <stdio.h>
//求圆周率近似值函数,n越大越准确
double CalPai(int n)
{
double sum;
if(n<2)
{
return 1*2;
}
if(n<3)
{
return (1+1.0/3)*2;
}
if(3==n)
{
return (1+1.0/3+(1.0/3)*(2.0/5))*2;
}
sum=1+1.0/3+(1.0/3)*(2.0/5);//前3项和
double a=2; //分子
double b=5; //分母
double ab=(1.0/3)*(2.0/5);//第三项
for(int i=3;i<n;i++)
{
ab*=(a+1)/(b+2);
sum+=ab;
a++; //分子加1
b+=2; //分母加2
}
return sum*2;
}
void main ()
{
printf("%-6d项和时,计算圆周率结果为:%f\n",1,CalPai(1));
printf("%-6d项和时,计算圆周率结果为:%f\n",2,CalPai(2));
printf("%-6d项和时,计算圆周率结果为:%f\n",3,CalPai(3));
printf("%-6d项和时,计算圆周率结果为:%f\n",10,CalPai(10));
printf("%-6d项和时,计算圆周率结果为:%f\n",10000,CalPai(10000));
printf("%-6d项和时,计算圆周率结果为:%f\n",99999999,CalPai(99999999));
}
|