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

问题描述:

这个c程序怎么不对了(求a的开方,用牛顿迭代法,为什么输出的总是x2的初值)
#include
#include
void main()
{
double a,x1,x2=7;
printf("INPUT:");
scanf("%f",&a);
for(x1=1;fabs(x1-x2)
1个回答 分类:综合 2014-10-31

问题解答:

我来补答
你那个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); }
 
 
展开全文阅读
剩余:2000