C++高手进——用迭代法求x=根号a.求平方根的迭代公式为X(n+1)=(1/2)*(Xn+a/Xn)的程序纠错.//用迭代法求x=根号a.求平方根的迭代公式为X(n+1)=(1/2)*(Xn+a/Xn)//要求前后两次求出的x的差的绝对值小于10的-5次方.//My program:(1)#include#includeusing namespace std;int main(){double x,a,t;cin>>a;x=a/2;do{t=x;x=(1/2)*(x+a/x);}while(fabs(x-t)>=1e-5);cout

问题描述:

C++高手进——用迭代法求x=根号a.求平方根的迭代公式为X(n+1)=(1/2)*(Xn+a/Xn)的程序纠错.
//用迭代法求x=根号a.求平方根的迭代公式为X(n+1)=(1/2)*(Xn+a/Xn)
//要求前后两次求出的x的差的绝对值小于10的-5次方.
//My program:
(1)
#include
#include
using namespace std;
int main()
{
double x,a,t;
cin>>a;
x=a/2;
do
{
t=x;
x=(1/2)*(x+a/x);
}while(fabs(x-t)>=1e-5);
cout

x=(1.0/2)*(x+a/x); 这一句改一下就可以了,因为1/2=0