大神帮我看一下2个程序写法有什么区别?
这是牛顿迭代法求:x=更号a#include <iostream>
#include <cmath>
using namespace std;
int main()
{ float x0,x1,a;
cin>>a;
x0=a/2;
x1=(x0+a/x0)/2;
while (fabs(x0-x1)>=1e-5)
{x0=x1;
x1=(x0+a/x0)/2;
}
cout<<x0<<endl;
return 0;
}
为什么第11行的 x1=(x0+a/x0)/2; 变为x1=(1/2)*(x0+a/x0);后程序功能无法实现了呢?
或者是第8行的 x1=(x0+a/x0)/2;变成x1=(1/2)*(x0+a/x0);也无法实现了呢?