题意:
求AX^2+BX+C=0的根
思路:
考虑到A,B,C所有可能的情况
代码:
double a,b,c; int main(){ cin>>a>>b>>c; if(a==0){ if(b==0){ if(c==0){ puts("-1"); ret 0; } else{ puts("0"); ret 0; } } else{ print("1\n%.10lf\n",(-c)/b); ret 0; } } double delta=b*b-4*a*c; if(delta<0.0){ puts("0"); ret 0; } delta=sqrt(delta); double x1=(-b-delta)/(2*a); double x2=(-b+delta)/(2*a); if(fabs(x1-x2)<eps){ puts("1"); print("%.10lf\n",x1); ret 0; } if(x1>x2) swap(x1,x2); puts("2"); print("%.10lf\n",x1); print("%.10lf\n",x2); return 0; }