Program to find the roots of a quadratic equation

Program:

#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float a, b, c, d, real, imag, r1, r2, n;
int k ;
clrscr() ;
printf("Enter the values of A, B & C : ");
scanf("%f %f %f", &a, &b, &c);
if(a != 0)
{
d = b * b - 4 * a * c;
if(d < 0)
k = 1;
if(d == 0)
k = 2;
if(d > 0)
k = 3;
switch(k)
{
case 1 :
printf("\nRoots are imaginary\n");
real = - b / (2 * a);
d = - d;
n = pow((double) d, (double) 0.5);
imag = n / (2 * a);
printf("\nr1 = %7.2f   j%7.2f", real, imag);
printf("\nr2 = %7.2f - j%7.2f", real, imag);
break;
case 2 :
printf("\nRoots are real and equal\n");
r1 = - b / (2 * a);
printf("\nr1 = r2 = %7.2f", r1);
break;
case 3 :
printf("\nRoots are real and unequal\n");
r1 = (- b   sqrt((double) d)) / (2 * a);
r2 = (- b - sqrt((double) d)) / (2 * a);
printf("\nr1 = %7.2f",r1);
printf("\nr2 = %7.2f",r2);
break;
}
}
else
printf("\nEquation is linear");
getch();
}

Output:

Case: 1

Enter the values of A, B & C : 0.0 4.0 7.0
Equation is linear

Case: 2

Enter the values of A, B & C : 1.0 2.0 7.0
Roots are imaginary
r1 = -1.00 + j 2.45
r2 = -1.00 - j 2.45

Case: 3

Enter the values of A, B & C : 1.0 2.0 1.0
Roots are real and equal
r1 = r2 = -1.00

Case: 4

Enter the Values of A, B & C : 2.0 7.0 1.0
Roots are real and unequal
r1 = -0.15
r2 = -3.35
• Created
Oct 15, 2014
• Updated
Dec 30, 2019
• Views
5,621
You May Like