请求大佬帮改
#include <stdio.h>
double a,b,c,d;
double fc(double x){
return a*x*x*x+b*x*x+c*x+d;
}
int main(){
scanf("%lf%lf%lf%lf",&a,&b,&c,&d);
double left,right,x1,x2;
double mid;
int cnt=0;
for(left=-100,right=-99;right<=100;right++,left++){
x1=fc(left);
x2=fc(right);
if(!x1){
printf("%.2lf",left);
cnt++;
}
if(x1*x2<0){
while(right-left>=0.001){
mid=(right+left)/2;
if(fc(mid)*fc(right)<=0) left=mid;
else right=mid;
}
printf("%.2lf ",left);
cnt++;
}
if(cnt==3) break;
}
return 0;
}