您的位置:

c语言如何求圆周率后一百位,c语言计算圆周率1000位

本文目录一览:

C语言编程题:用计算机计算圆周率到小数点后一百位。

有公式 π/4=1-1/3+1/5-1/7+... 可据此编写程序。 我只做到了8位,至于还有没有其他的计算公式,我也不清楚了。

#includestdio.h

#includemath.h

int main()

{ int sign=1;

double pi=0.0, n=1, term=1.0;

while (fabs(term)=1e-6 )

{ pi+=term;

n+=2;

sign=-sign;

term=sign/n;

}

pi*=4;

printf("pi=%10.8f", pi);

return 0;

}

如何用C语言程序实现输出圆周率小数点后100位小数

π=3.1415926……无穷多位, 历史上很多人都在计算这个数, 一直认为是一个非常复杂的问题。现在有了电脑, 这个问题就简单了。

电脑可以利用级数计算出很多高精度的值, 有关级数的问题请参考《高等数学》,以下是比较有名的有关π的级数:

π = 2 + 2/3 + 2/3*2/5 + 2/3*2/5*3/7 + ...

例程:

/*这是一位大神编制的算pi程序,精确到800位,具体算法已不可考*/

#includestdio.h

int main()

{

    long   a=10000,b=0,c=3500,d=0,e=0,f=0,g[3501]; 

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

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

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

    reutrn 0;

}

如何用C语言程序实现输出圆周率小数点后100位小数?

double精度不够,只有用数组模拟了。

楼上的程序不正确,我改了下

#includestdio.h

int main()

{

long a=10000,b=0,c=3500,d=0,e=0,f=0,g[3501];

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

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

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

}