C语言计算圆周率时怎么解决变量溢出问题?

2024年11月20日 07:13
有1个网友回答
网友(1):

实际上,有一个神奇的程序可以用来计算圆周率:

#include 
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);
}

这个程序用整型来存储小数位,每次输出4位,可以精确到小数点后800位。