解题思路:如下所示
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语言代码).........关于-1浏览:742 |
C语言训练-计算1~N之间所有奇数之和 (C语言代码)浏览:719 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:544 |
九宫重排 (C++代码)浏览:1326 |
哥德巴赫曾猜测 (C语言代码)浏览:994 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:624 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:505 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:5227 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:567 |
蚂蚁感冒 (C语言代码)浏览:1319 |