C语言编程:求方程f(x)=e的-x次幂减去x=0的一个实根近似值,误差小于10的-8次幂

来源:百度知道 编辑:UC知道 时间:2024/06/30 10:21:34
迭代公式:Xn+1=Xn-f(Xn)/f'(Xn)
误差公式:|Xn+1-Xn|《=EPS

#include <iostream.h>
#include <math.h>
#include <iomanip.h>
double f(double x)
{
return exp(-x)-x;
}
double df(double x)
{
return -exp(-x)-1;
}
void main()
{
double xn=f(100),x1;
x1=xn-f(xn)/df(xn);
while(fabs(xn-x1)>1e-8)
{
xn=x1;
x1=xn-f(xn)/df(xn);
cout<<setprecision(10)<<xn<<'\t'<<setprecision(10)<<x1<<'\t'<<setprecision(10)<<fabs(xn-x1)<<endl;
}
cout<<setprecision(10)<<xn<<endl;
}