解题思路:从1开始逐个迭代,直到满足条件退出循环;
注意事项:注意while循环是为假(0)退出,所以当(Xn-Xn-1)的绝对值<0.00001时为真,但不退出循环,我们既要让fabs(Xn-Xn-1)<0.00001,又要同时退出循环输出,故取(Xn-Xn-1)>=0.00001为假,它等价于(Xn-Xn-1)<0.00001为真;
参考代码:
#include<stdio.h>
#include<math.h>
int main()
{
long double x=1,t,a;
scanf("%Lf",&a);
do
{
t=x;
x=(t+a/t)/2;
}
while(fabs(t-x)>=0.00001);
printf("%.3Lf",x);
}
0.0分
0 人评分