#include<stdio.h>
int main()
{
float a,b,c,d;
while (scanf("%f %f %f",&a,&b,&c)!=EOF)
{
d=b*b-4*a*c;
if (a==0)
printf("Not quadratic equation\n");
else
{
if (d==0)
printf("x1=x2=%.2f\n",(-b/(2*a)==0)?0:(-b/(2*a)));
else if (d>0)
printf("x1=%.2f;x2=%.2f\n",(-b-sqrt(d))/(2*a),(-b+sqrt(d))/(2*a));
else
printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",-b/(2*a),fabs(sqrt(-d)/(2*a)),-b/(2*a),fabs(sqrt(-d)/(2*a)));
}
}
return 0;
}
上面的几个答案都有点小bug,主要是+-0.00还有叙述多一个负号的问题


京公网安备 11010502036488号