是这样的:数据范围才-100~100,而且才2位小数,就直接枚举:
#include<bits/stdc++.h>
using namespace std;
double a,b,c,d,x;
bool func(int i){
return (a*(i*i*i)+b*(i*i)+c*i+d==0?1:0);
}
int main(){
cin>>a>>b>>c>>d;
for(double i=0-100;i<=100;i+=0.01){
if(func(i)){
printf("%.2lf ",i);
i+=0.99;
}
}
return 0;
}
在我不懈的努力下——还是错了