您的位置:

c语言pi求法,求pi的近似值c语言

本文目录一览:

c语言 计算π的值

好像是这个公式把

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

要是这样的话,就我下面的代码

#include stdio.h

#include math.h

main()

{

int i,j=1;

float pi=0;

for(i=1;1.0/i=1e-6;i+=2)

{

pi+=j*1.0/i;

j*=-1;

}

printf("PI的近似值为%d",4*pi);

}

看我的代码,有什么感想?

怎么用C语言编程计算出π的值?

一个足以让你吐血的计算400位pi的C程序:

int a=10000, b, c=2800, d, e, f[2801], g;

main() {

for(; b-c; f[b++]=a/5);

for(; d=0,g=c*2; c -=14,printf("%.4d",e+d/a),e=d%a)

for(b=c; d+=f[b]*a,f[b]=d%--g,d/=g--,--b; d*=b);

}

理论上只要用大数算法扩了就能一直算下去。我在Palm上面实现的那个就是基于这个算法,没有扩,算到4680位(受到Palm平台32k数组的长度限制)。

这个程序的特点是:你抱着想看看算pi原理的希望来读这个程序,结果发现就是看了也还是看不懂~~

转的,但是百度知道不允许贴地址哦

第二种:

用C语言编程π*π/6=1/1*1+1/2*2+1/3*3+。。。+1/n*n

#includestdio.h

#includemath.h

main()

{

int n,i;

double s=0;

printf("输入n:");

scanf("%d",n);

for(i=1;i=n;i++)

{s=s+1.0/(i*i);

}

printf("pai=%f",sqrt(s*6));

}

第三种:

求pi=(1+1/(1*3))*(1+1/(3*5))*(1+1/(5*7))…………直到最后一项的分数小于10的负6次方为止。

#includestdio.h

#includemath.h

#includestdlib.h

void main()

{

double pi,i,j,sigh,term;

i=1,j=3,sigh=1,term=1;

while(sigh1e-6)

{

sigh=1/(i*j);

term=(1+sigh)*term;

i=i+2;

j=j+2;

}

pi=term;

printf("pi=%f\n",pi);

}

C语言的求π的值?

#include stdio.h

#include math.h

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;

}