谁能给个圆周率的C语言程序

来源:百度知道 编辑:UC知道 时间:2024/07/04 14:55:40
要求求出近似值不小于30位
怎样确定30位阿,要求求出准确的30位

从来跟你整了个,这个应该更好理解点,而且你想计算好多位就好多位,只需要修改第二句代码:
#include <stdio.h>
#define PI_DIGITS 30
#define PI_BUFFLEN (PI_DIGITS*14/4)
unsigned long b,c,d,e,f[PI_BUFFLEN+1],g, n;

int main()
{
for(b=0;b!=PI_BUFFLEN;b++) f[b]=2000;
for (e=0,c=PI_BUFFLEN;c;c-=14)
{
d=0;
for(b=c;b;b--)
{
d += f[b]*10000;
g = b*2-1;
f[b] = d%g;
d /= g;
if (b>1) d *= b-1;
if (d>4000000000l)
printf("|%d\n",n);
}
printf("%.4d",e+d/10000);
n+=4;
e=d%10000;
}
return 0;
}

#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