解题思路:
迭代法迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程。
进一步利用迭代法思维,本题就是让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 人评分
1126题解浏览:577 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:1135 |
分糖果 (C语言代码)浏览:911 |
Pascal三角 (C语言代码)浏览:641 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:673 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:603 |
三角形 (C语言代码)浏览:653 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:525 |
C语言程序设计教程(第三版)课后习题7.2 (C++代码)浏览:426 |
Manchester- Hello, world!浏览:13047 |