# C Program to find roots of quadratic equation

```#include<stdio.h>
#include<math.h> /* Used for sqrt() */

int main()
{
float a,b,c, root1,root2,imaginary, discriminant;

printf("Enter values of a, b, c of quadratic equation (aX^2 + bX + c): ");
scanf("%f%f%f", &a, &b, &c);

/* Find discriminant of the equation */
discriminant = (b * b) - (4 * a * c);

/* Find the nature of discriminant */
if(discriminant > 0)
{
root1 = (-b + sqrt(discriminant)) / (2*a);
root2 = (-b - sqrt(discriminant)) / (2*a);

printf("Two distinct and real roots exists: %.2f and %.2f", root1, root2);
}
else if(discriminant == 0)
{
root1 = root2 = -b / (2 * a);

printf("Two equal and real roots exists: %.2f and %.2f", root1, root2);
}
else if(discriminant < 0)
{
root1 = root2 = -b / (2 * a);
imaginary = sqrt(-discriminant) / (2 * a);

printf("Two distinct complex roots exists: %.2f + i%.2f and %.2f - i%.2f",
root1, imaginary, root2, imaginary);
}

return 0;
}```

Output

```Enter values of a, b, c of quadratic equation (aX^2 + bX + c): 5
-3
-2
Two distinct and real roots exists: 1.00 and -0.40```