用迭代法求非线性方程的实根
用迭代法求方程f(x)=e^(-x)-x+1=0的根
#include <stdio.h>
#include <math.h>
float f(float a);
float fa(float a);
void main()
{
float x0,x1,e;
printf("请分别输入迭代初始值,精确度\n");
scanf("%f%f",&x0,&e);
for(;;)
{
x1=f(x0);
if(fabs(x1-x0)<e)
{
printf("x0=%f,x1=%f\n",x0,x1);
break;
}
else
{
printf("x0=%f,x1=%f\n",x0,x1);
x0=x1;
}
}
printf("符合精度的根为:%f",x1);
}
float fa(float a)//原方程
{
float x=float(exp(-a)-a+1);
return x;
}
float f(float a)//迭代公式
{
float x=float(exp(-a)+1);
return x;
}