解题思路:如下所示
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++代码)(大数加法)浏览:1008 |
printf基础练习2 (C语言代码)浏览:605 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:543 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:641 |
C语言程序设计教程(第三版)课后习题1.6 (C++代码)浏览:909 |
Pascal三角 (C语言代码)浏览:1252 |
数组输出 (C语言代码)--此题的题目描述有问题浏览:1843 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:1090 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1334 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:760 |