解题思路:如下所示
x0=a/2 a x1=(x0+a/x0)/2。通过迭代法不断逼近x0和x1之间的距离。在循环语句中令x0=x1,x1=(x0+a/x0)/2,最后通过一个while((x1-x2)>1e-5)作为判断条件
注意事项:
1e-5表示前后两次求出的x的差的绝对值小于10^-5。
参考代码:
#include<stdio.h>
#include<math.h>
int main()
{
float a,x0,x1;
scanf("%f",&a);
x0=a/2;
x1=(x0+a/x0)/2;
while(fabs(x0-x1)>1e-5)
{
x0=x1;
x1=(x0+a/x0)/2;
}
printf("%.3f\n",x1);
return 0;
}
0.0分
4 人评分
C二级辅导-同因查找 (C语言代码)浏览:592 |
C二级辅导-统计字符 (C语言代码)浏览:527 |
简单的a+b (C语言代码)浏览:581 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:551 |
WU-链表数据求和操作 (C++代码)浏览:1376 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:564 |
【蟠桃记】 (C语言代码)浏览:1081 |
DNA (C语言描述,蓝桥杯)浏览:1648 |
1124题解浏览:625 |
sizeof的大作用 (C语言代码)浏览:1134 |