> 其他 >
计算圆周率的算法
算法公式是 PI=4*(1-1/3+1/5-1/7+1/9-.)
请看下面这个程序
#include
#include
main()
{float n,pi,t;
int k=1;
pi=0,t=1,n=1;
while(fabs(t)>1e-6)
{
t=k/(2*n-1);
pi=pi+t;
k=-k;
n++;
}
pi=4*pi;
printf("%f",pi);
}
为什么要把t的初值定为1呢,
定为0的话在循环体里第一步不也能算出来吗,
为什么定为0之后程序输出的结果就不对了呢
人气:260 ℃ 时间:2020-02-01 07:29:24
解答
因为循环条件是while(fabs(t)>1e-6)
你把t定为0了 这第一步就不符合 所以就不循环了
输出肯定是0了
推荐
猜你喜欢
© 2024 79432.Com All Rights Reserved.
电脑版|手机版