首先你的y1没有初始化,其次,不知你的f函数计算的是什么,大致给改了一下
#include
#include
#include
float f(float x)
{
return 2*pow(x,3)-4*pow(x,2)+3*x-6;
}
int main()
{
float x1=-10,x2=10,x0,y1,y2,y0;
do
{
x0=(x1+x2)/2;
y0=f(x0);
if(y0>0)///////////////////
{
x2=x0;
//y2=y0;
}
else
{
x1=x0;
//y1=y0;
}
}while(fabs(x2-x1)>=1e-6);///////////////////
printf("%f\n",x0);
getch();
return 0;
}