二分求根问题
#include<stdio.h> #include<math.h>
int main()
{
double x1,x2,x,y1,y2,y;
x1=10;
x2=-10;
y1=2*x1*x1*x1-4*x1*x1+3*x1-6;
y2=2*x2*x2*x2-4*x2*x2+3*x2-6;
do
{
x=(x1+x2)*0.5;
y=2*x*x*x-4*x*x+3*x-6;
if(y>=0)
x2=x,
x1=x1;
if(y<0)
x1=x,x2=x2;
}
while(fabs(x1-x2)<=0.0001);
printf("%f",x2);
return 0;
}
这样输出之后结果是-10,求大神指点,我想知道的是我为什么错,只要纠正就好,谢谢各位大神