解题思路:从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 人评分
2^k进制数 (C++代码)使用递归方法浏览:721 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:569 |
模拟计算器 (C语言代码)浏览:891 |
简单的a+b (C语言代码)浏览:717 |
C语言训练-排序问题<1> (C++代码)浏览:598 |
不容易系列 (C语言代码)浏览:668 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:609 |
1128题解(返回值为数组的情况)浏览:473 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:672 |
简单的a+b (C语言代码)浏览:512 |