解题思路:
迭代法迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程。
进一步利用迭代法思维,本题就是让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语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:703 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:536 |
C语言训练-数字母 (C语言代码)浏览:600 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:901 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:682 |
1017题解浏览:574 |
A+B for Input-Output Practice (V) (C语言代码)浏览:459 |
图形输出 (C语言代码)浏览:1375 |
1050题解(结构体数组与结构体指针的使用)浏览:1106 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:681 |