这个程序哪里不对?
main()
{float a=-10,b=10,y1,y2,y3;
while((a+b)/2>0.000001)
{y1=2*((a+b)/2)*((a+b)/2)*((a+b)/2)-4*((a+b)/2)*((a+b)/2)+3*((a+b)/2)+6;
y2=2*a*a*a-4*a*a+3*a+6;
y3=y1*y2;
if(y3>0) b=(a+b)/2;
else if(y3<0) a=(a+b)/2;
}
printf("%.2f\n",(a+b)/2);
}
我不知道哪里错了,但是输出的结果总是为零