计算圆周率的算法
算法公式是 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之后程序输出的结果就不对了呢
人气:330 ℃ 时间:2020-02-01 07:29:24
解答
因为循环条件是while(fabs(t)>1e-6)
你把t定为0了 这第一步就不符合 所以就不循环了
输出肯定是0了
推荐
猜你喜欢
- 怎样把古诗改写成短文
- 20.Please_____ me to introduce my sister to you.
- 硫酸钡难溶于水,但是硫酸钡是电解质而且是强电解质.我的问题是,硫酸钡是熔融状态能导电,还是放在水里
- 英语里with,in,at有什么区别?
- 把句子换一种说法,意思不变.
- 已知x+1/x−1=3与mx/x+2=5的解相同,求m的值?
- 我们能做是就技术向哪个方向发展做出明智的决定,这用英语怎么说
- 如图10所示,物体重20牛,斜面受到物体的压力是15牛,