解题思路:
迭代法迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程。
进一步利用迭代法思维,本题就是让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语言训练-数字母 (C语言代码)浏览:582 |
C语言训练-求素数问题 (C语言代码)浏览:719 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:665 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:520 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:560 |
母牛的故事 (C语言代码)浏览:940 |
星期判断机 (C语言代码)浏览:859 |
Tom数 (C语言代码)浏览:492 |
陶陶摘苹果2 (C语言代码)浏览:595 |