#include <stdio.h>
#include <math.h>
int main (void)
{ double a,b,c,d,e,x1,x2;
scanf("%lf %lf %lf",&a,&b,&c);
d=b*b-4*a*c;
if (d>0)
{ if(a==0)
x1=-c/b;printf("%.2lf\n",x1);
if (a!=0)
{ x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("%.2lf\n%.2lf\n",x1,x2);
}
}
else if (d==0)
{ if (a==0&&b==0&&c==0)
printf("Zero Equation\n");
else if(a==0&&b==0&&c!=0)
printf("Not An Equation\n");
else
{
x1=-b/(2*a);
printf("%.2lf\n",x1);
}
}
else
{ if (a!=0)
if(b==0)
{
x1=sqrt(-d)/(2*a);
x2=sqrt(-d)/(2*a);
printf("0.00+%.2lfi\n0.00-%.2lfi\n",x1,x2);
}
else
{
x1=sqrt(-d)/(2*a);
e=-b/(2*a);
x2=sqrt(-d)/(2*a);
printf("%.2lf+%.2lfi\n%.2lf-%.2lfi\n",e,x1,e,x2);
}
}
return 0;
}
Esta pregunta requiere las raíces de una ecuación cuadrática en una incógnita, y el resultado se mantiene en 2 lugares decimales.
Formato de entrada:
introduzca tres coeficientes de coma flotante a, b, c en una línea, separados por espacios.
Formato de salida:
según los coeficientes, se obtienen diferentes resultados:
1) Si la ecuación tiene dos raíces reales desiguales, entonces se generará una raíz por línea, primero grande y luego pequeña;
2) Si la ecuación tiene dos raíces complejas desiguales, cada una La línea genera una raíz de acuerdo con el formato "parte real + parte imaginaria i", primero genera la parte imaginaria como positiva y luego la parte imaginaria como negativa;
3) Si la ecuación tiene solo una raíz, genere esta raíz directamente;
4) Si los coeficientes son todos Si es 0, entonces da salida a "Ecuación cero";
5) Si a y b son 0 y c no es 0, da salida "No es una ecuación".
Ejemplo de entrada 1:
2,1 8,9 3,5
Ejemplo de salida 1:
-0,44
-3,80
Ejemplo de entrada 2:
1 2 3
Ejemplo de salida 2:
-1,00 + 1,41i
-1,00-1,41i
Ejemplo de entrada 3:
0 2 4
Ejemplo de salida 3:
-2,00
Ejemplo de entrada 4:
0 0 0
Ejemplo de salida 4 : Ejemplo de entrada de
ecuación cero
5:
0 0 1
Ejemplo de salida 5:
No es una ecuación