#include <stdio.h>
#include <math.h>
void gt(float a, float b, float c,float t)
{
float x1, x2;
x1 = (-b + sqrt(t)) / (2 * a);
x2 = (-b - sqrt(t)) / (2 * a);
printf("有两个不相等的实数根:%f and %f\n", x1, x2);
}
void le(float a, float b, float c,float t)
{
float x1;
x1 = -b / (2 * a);
printf("有两个相等的实数根:%f\n",x1);
}
void eq(float a, float b, float c,float t)
{
float realt, imag;
realt = -b / (2 * a);
imag = sqrt(-t) / (2 * a);
printf("有复根:\n");
printf("%f+%fi\n", realt , imag);
printf("%f-%fi\n", realt , imag);
}
int main()
{
float a,b,c,t;
scanf("%f%f%f",&a,&b,&c);
float result;
t=b*b-4*a*c;
if (fabs(t) <=1e-6) //有两个相等的实数根的情况
{
le(a, b, c,t);
}
else if (t > 1e-6) //有两个不等的实数根的情况
{
gt(a, b, c,t);
}
else //有复数根的情况
{
eq(a, b, c,t);
}
return 0;
}