c语言用迭代法求a的平方根

来源:百度知道 编辑:UC知道 时间:2024/05/05 09:38:33
求平方根的迭代公式为Xn+1=1/2(Xn+a/Xn);要求前后两次求出的x的差的绝对值小于1e-5;
我编了程序但是是不对 请高手指点!
#include <stdio.h>
main()
{float a,x1,x2;
scanf("%f",&a);
while(fabs(x1-x2)<1e-5)
{x2=(x1+a/x1)/2;
x1=x2;
}
printf("%f,%f",x1,x2);
getch();
}
就是不知道改如何赋初值,请各位大侠帮忙!

你没有给x1,x2赋初值 就直接用了

你能把原题贴出来吗?

float a,x1,x2;
scanf("%f",&a);
x1=1;x2=a;/* notice! */
while(fabs(x1-x2)>=1e-5)/* notice! */
{
x1=x2;
x2=(x1+a/x1)/2;
}
printf("%f,%f",x1,x2);

调用数学函数 #include "math.h"