计算圆周率的算法
算法公式是 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了
推荐
猜你喜欢
- 在没有括号的算式里,如果只有同一级运算要按照从【 】到【 】的顺序进行计算,如果有括号,就要先算【 】
- 某班男生人数是女生的3分之2,则这个班男生占全班人数的( )%,女生占全班人数的( )%.如果该班有45人
- 雾形成的原因
- 音乐上的小人为什么能在音乐翩翩起舞?
- 为什么要先算乘除再算加减,为什么有括号的要先算括号的?
- x^2+kx+1是一个完全平方公式,那么k的值为
- 学校组织参观活动,征求同学们的意见去科技馆还是去天文馆.5(1)班有45人,同意去科技馆的有30人,同意去
- 五年级下册暑假作业本(人教版)数学第57页解决问题第三小题怎么写?第59页动脑筋怎么写?