那个计算π的C语言程序是怎么写的啊?

如题所述

1、PI  的值可以通过以下公式计算出来,

  π/4=1-1/3+1/5-1/7……

编写循环程序,当这种计算方法所得到的偏差小于0.000001时停止计算,并输出PI的值及所需要计算的项数。


2、例程:

double s = 0;//面积
        double pi = 0;//圆周率
        double d=200;//直径(值越大圆周率越精确)
        double r = d/2;//半径
        for(int i=1;i<=d;i++){
            for(int j=1;j<=d;j++){
                if((i-r)*(i-r)+(j-r)*(j-r)<=r*r){
                        s++;
                }
            }
        }
        pi = s/(r*r);

温馨提示:内容为网友见解,仅供参考
第1个回答  2009-05-19
随便baidu下就有;

最佳答案
#include <stdio.h>

long a=10000,b,c=2800,d,e,f[2801],g;
void main()
{
for(;b-c;) f[b++]=a/5;
for(;d=0,g=c*2;c-=14,printf("%04d",e+d/a),e=d%a)
for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);
}
这个问题我问过。
能算800位,我给的网址是我问的,回答里有解释,和能算1000位的优化算法,很好的。
参考资料:http://zhidao.baidu.com/question/47106674.html
0回答者: 死人3 - 见习魔法师 三级本回答被提问者采纳

那个计算π的C语言程序是怎么写的啊?
double s = 0;\/\/面积 double pi = 0;\/\/圆周率 double d=200;\/\/直径(值越大圆周率越精确) double r = d\/2;\/\/半径 for(int i=1;i<=d;i++){ for(int j=1;j<=d;j++){ if((i-r)*(i-r)+(j-r)*(j-r)<=r*r){ s++; } } } pi ...

C语言求π的值
参考代码如下:原理是 PI=SQRT((1\/1^2+1\/2^2+1\/3^2+...)*6)include <stdio.h> #include <math.h> int main(){ double sum,term,pi,i=1; while(1\/pow(i,2)>1E-12){ sum+=1\/pow(i,2); i++; } pi=sqrt(sum*6); printf("%lf",pi);}显示效...

C语言的求π的值?
int main(){ double pi=0,result;int i=1;int s=-1;do{ s*=-1;result=1.0\/i*s;i+=2;pi+=result;}while(fabs(result)>0.000001);printf("pi=%10.4lf\\n",pi*4);return 0;}

如何用C语言计算π?
pi += sign * (1 \/ i)sign *= -1 pi *= 4 print("π的值为:", pi)解释:首先定义变量pi和sign,分别表示π的值和正负号。然后使用for循环计算公式的前100项,每次加上一个数(或减去一个数),并更新正负号。最后将计算结果乘以4,即可得到π的值。最后使用print语句输出π的值。需要...

c语言,求π,精确到小数点10位
include<stdio.h> float calPI(){float p=0.0,t=1.0;int i;for(i=1;t>=1e-10;i+=2){ t=1.0\/i;if(i%4==1)p+=t;else p-=t;} return 4*p;} int main(){ float pi;pi = calPI();printf("π=%f\\n",pi);getch();} ...

求π值的C语言程序。
include <stdio.h> include <math.h> void main(){ int s=1;float n=1,pi=0, t=1;while(fabs(t)>=0.000001){pi+=t; n+=2; s=-s; t=s\/n; } pi*=4;printf("pi=%f\\n",pi);}

用C语言编个程序,求π(派)
利用“正多边形逼近”的方法求出π的近似值 程序说明与注释 include<stdio.h> include<math.h> int main(){ double e=0.1,b=0.5,c,d;long int i; \/*i: 正多边形边数*\/ for(i=6;;i*=2) \/*正多边形边数加倍*\/ { d=1.0-sqrt(1.0-b*b); \/*计算圆内接正多边形的边长*\/ b=...

C语言 求π
int i,f=1;double s=0; s满足s<0.0000001 往下执行 for(i=1;s<0.0000001;i=i+2){ i=1时 s=s+(double)1\/i*f; s=0+ (double)1\/1*1 s=(double)1 f=f*(-1); f=-1 } printf("%lf\\n",s*4);} 1*4=4 在执行的话s=1不满足s<0.0000001 ,跳出...

π在C语言中是怎么表示的?
标准的C语言中没有π这个符号及常量,一般在开发过程中是通过开发人员自己定义这个常量的,最常见的方式是使用宏定义:define PI 3.141592 也可以直接普通变量定义,如:double pi = 3.141592;

C语言编程有公式 可以计算π的近似值。求前后两次迭代结果π 之差的...
int main() { int n = 1;double pi = 2.0 * 2 * 2\/3; \/\/ n=1时pi的初值 double e; \/\/ 精度 scanf("%lf", &e);while (1) { ++n;int m = 2 * n;double pn = pi * m \/ (m - 1) * m \/ (m + 1);if (pn - pi < e) { pi = pn;break;} pi = pn;}...

相似回答