作业帮 > 综合 > 作业

这个c程序怎么不对了(求a的开方,用牛顿迭代法,为什么输出的总是x2的初值)

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/18 19:05:05
这个c程序怎么不对了(求a的开方,用牛顿迭代法,为什么输出的总是x2的初值)
#include
#include
void main()
{
double a,x1,x2=7;
printf("INPUT:");
scanf("%f",&a);
for(x1=1;fabs(x1-x2)
这个c程序怎么不对了(求a的开方,用牛顿迭代法,为什么输出的总是x2的初值)
你那个For loop里面判断条件应该是>=,
>=他才做,
再问: 还是不对啊,输出结果为一个很大的数
再答: Maybe you can try 'While' loop cause 'for' loop does not work for it. #include #include void main() { double a; double x1=1; double x2=7; printf("INPUT:"); scanf("%f",&a); //for(x1=1;fabs(x1-x2)=1e-5) { x1=x2; x2=(x1+a/x1)/2; } printf("the number:%10.6f.",x2); }