解题思路:
迭代法迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程。
进一步利用迭代法思维,本题就是让z=(y+x/y)/2;然后第二次z=(y+x/y)/2,可以带入值来计算会发现愈来愈接近准确值,如此下去就会越来越接近!就跟开方一样。直到最后进度满足了就会退出循环。
注意事项:
参考代码:
#include<stdio.h>
#include<math.h>
int main()
{
float x,y,z;
scanf("%f",&x);
y=x/2;
z=(y+x/y)/2;
for(y=x/2,z=(y+x/y)/2;fabs(y-z)>1E-5;){
y=z;
z=(y+x/y)/2;
}
printf("%.3f",z);
return 0;
}
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:674 |
P1002 (C语言代码)浏览:980 |
兰顿蚂蚁 (C++代码)浏览:1091 |
简单的a+b (C语言代码)浏览:530 |
回文数(一) (C语言代码)浏览:752 |
C语言训练-阶乘和数* (C语言代码)-------- 呆板写法浏览:1362 |
本人酷爱递归实现很多问题,这里也是浏览:557 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:635 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:556 |
1025题解浏览:738 |