这段代码错哪了,为什么加abs侯结果不一样
这段代码哪里错了,为什么加abs侯结果不一样?
下面是用牛顿迭代法解方程xxx-2x-5=0的程序代码这段代码哪里错了,为什么加abs侯结果不一样?
main()
{
float f(float x);
float df(float x);
float x1,x;
int n;
x1=3;x=2;n=0;
while(x1-x> 0.000001) /* 改为abs(x1-x)后结果不一样 /
{
x1=x-f(x)/df(x);
x=x1;
n++;
printf( "%f\n ",x1);
}
printf( "%f\n ",x1);
printf( "%d\n ",n);
system( "pause ");
}
float f(float x)
{
float f;
f=xxx-2x-5;
return f;
}
float df(float x)
{
float df;
df=3xx-2;
return df;
}
天心skyル
11 years, 4 months ago