本文目錄一覽:
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);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/159228.html