|
发表于 2013-11-13 00:09:08
|
显示全部楼层
效果截图:
程序代码如下:
- #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));
- }
复制代码
|
|