English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Comprehensive Collection of C Programming Examples
In this example, you will learn how to find the roots of a quadratic equation in C programming.
To understand this example, you should understand the followingC programmingTopic:
The standard form of a quadratic equation is:
ax2 + bx + c = 0, when a, b and c are real numbers, a != 0
b2-4acThe term is called the discriminant of a quadratic equation. It describes the nature of the roots.
If the discriminant is greater than 0, the roots are different real numbers
If the discriminant is equal to 0, then the roots are real and equal.
If the discriminant is less than 0, then the roots are different complex numbers.
#include <math.h> #include <stdio.h> int main() { double a, b, c, discriminant, root1, root2, realPart, imagPart; printf("Input coefficients a, b and c: "); scanf("%lf %lf %lf", &a, &b, &c); discriminant = b * b - 4 * a * c; // The condition for unequal real roots if (discriminant > 0) { root1 = (-b + sqrt(discriminant)) / (2 * a); root2 = (-b - sqrt(discriminant)) / (2 * a); printf("root1 = %.2lf and root2 = %.2lf", root1, root2); } // The condition for equal real roots else if (discriminant == 0) { root1 = root2 = -b / (2 * a); printf("root1 = root2 = %.2lf;", root1); } // If the root is not a real number else { realPart = -b / (2 * a); imagPart = sqrt(-discriminant) / (2 * a); printf("root1 = %.2lf+%.2lfi and root2 = %.2f-%.2fi } return 0; }
Output Result
Enter coefficients a, b, and c: 2.3 4 5.6 root1 = -0.87+1.30i and root2 = -0.87-1.30i
In this program, the sqrt() library function is used to find the square root of a number. For more information, please visit:sqrt() Function.