没有用Tree...
#include <stdlib.h>
#include <stdio.h>
float Calculate(float a3, float a2, float a1, float a0, float x)
{
float result;
result = a3*x*x*x + a2*x*x + a1*x + a0;
return result;
}
int main()
{
float a3, a2, a1, a0;
float a, b;
scanf("%f %f %f %f", &a3, &a2, &a1, &a0);
scanf("%f %f", &a, &b);
while (b-a>0.01)
{
float r = Calculate(a3, a2, a1, a0, (a+b)/2);
float ra = Calculate(a3, a2, a1, a0, a);
float rb = Calculate(a3, a2, a1, a0, b);
if (r==0)
break;
else
{
if (r*ra < 0)
{
b = (a+b)/2;
}
else
{
a = (a + b) / 2;
}
}
}
printf("%.2f",(a+b)/2);
}