这些程序代码是书上的,我确定我没写错,但就是不能执行那位高手帮我看看。

来源:百度知道 编辑:UC知道 时间:2024/09/26 13:26:51
#include <iostream.h>
#include <math.h>
double Newton(double x)
{ //x可以为任何值
double x1,x2,y1,y2;
x2=x;//给x2赋初值为x
do {
x1=x2;
y1=exp(x1)+3*x1-2; //y1=f(x1)
y2=exp(x1)+3; //y2=f'(x1)
x2=x1-y1/y2;
}while(fabs(x2-x1)>0.001);
return x2;
}
void main()
{
double x;
cout<<"从键盘输入任一实数作为自变量x的初值:";
cin>>x;
x=int(Newton(X)*1000)/1000.0; //保留运算结果的3位小数
cout<<"root: "<<x<<endl;
}
这些代码是书上的,书上介绍的是vc++ 6.0,而且我用的也是vc++ 6.0,书上的在此之前的编写的程序都是正确的我都验证了,但就这个程序不行。你们再仔细读读程序看看到底是什么环节出了问题。

你用的是什么编译器的,如果是VC++2003还有部分编译器要加命名空间的.
另外,VC2003以上版本,系统头文件要去掉.h扩展名
#include <iostream>
#include <math>

using namespace std;

以下为正常代码

如有必要,请放出错误信息