注意德塔==0时,判断x分母的值若等于0,就直接输出0.00 否则输出-0.00
#include <stdlib.h>
#include<stdio.h>
#include<math.h>
int main(){
float a=0,b=0,c=0;
float x1,x2;
while(scanf("%f %f %f",&a,&b,&c)!=EOF){
// float d=b*b-4*a*c;
if(a==0)
printf("Not quadratic equation");
else {
float d=b*b - 4*a*c;
if(d==0)
{
float s=-b+sqrt(d);
if(s==0){
printf("x1=x2=%.2f\n",s);
}
else{
printf("x1=x2=%.2f\n",(-b)/2.0/a);
}
}
else if(d<0){
printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",-b/2/a,sqrt(-d)/2/a,-b/2/a,sqrt(-d)/2/a);
}
else
printf("x1=%.2f;x2=%.2f\n",(-b-sqrt(d))/2.0/a,(-b+sqrt(d))/2.0/a);
}
}
return 0;
}