C Program to find the roots of a Quadratic equation
Last updated on July 27, 2020
What is Quadratic Equation? #
An equation of the form:
\begin{gather*}
a x^{2} + b x + c = 0
\end{gather*}
is known as a quadratic equation, where a
, b
and c
are numbers and a
is not equal to 0
. The values of x
which satisfies the equation are known as the roots of the equation.
To calculate the roots of a quadratic equation we use the following formula:
\begin{gather*}
x=\frac{-b^2 \pm \sqrt{b^2-4ac}}{2a}
\end{gather*}
where \(\sqrt{b^2 - 4ac}\) is called the discriminant.
If discriminant > 0
, then the equation has two distinct real roots.
If discriminant = 0
, then the roots of the equation are real and same.
If discriminant < 0
, then the roots of the equation are imaginary.
The following is a C program which computes the roots of the quadratic equation:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | /***********************************************************
* C Program to find the roots of a Quadratic equation
************************************************************/
#include<stdio.h> // include stdio.h
#include<math.h> // include math.h for mathematical functions
int main()
{
float a, b, c, discriminant, root1, root2;
printf("Enter coefficient of x^2: ");
scanf("%f", &a);
printf("Enter coefficient of x: ");
scanf("%f", &b);
printf("Enter constant term: ");
scanf("%f", &c);
discriminant = sqrt( b*b - 4*a*c );
if(discriminant >= 0)
{
root1 = ( -b + discriminant ) / (2.0*a);
root2 = ( -b - discriminant ) / (2.0*a);
printf("\nFirst root: %.2f\n", root1);
printf("Second root: %.2f\n", root2);
}
else
{
printf("\nRoots are imaginary");
}
return 0;
}
|
Expected Output: 1st run:
1 2 3 4 5 6 | Enter coefficient of x^2: 1
Enter coefficient of x: 7
Enter constant term: 12
First root: -3.00
Second root: -4.00
|
2nd run:
1 2 3 4 5 | Enter coefficient of x^2: 1
Enter coefficient of x: 4
Enter constant term: 5
Roots are imaginary
|
Related Programs:
- C Program to find Armstrong numbers
- C Program to find LCM and HCF of two numbers
- C Program to find the sum of natural numbers upto N terms
- C Program to reverse the digits of a number
- C Program to check whether a year is a leap year
Load Comments