Skip to main content

C Program to Find all Roots of a Quadratic Equation

C Program to Find all Roots of a Quadratic Equation

This program accepts coefficients of a quadratic equation from the user and displays the roots (both real and complex roots depending upon the discriminant ).
 
Quadratic equation graph
To understand this example, you should have the knowledge of following C programming topics:
The standard form of a quadratic equation is:
ax2 + bx + c = 0, where
a, b and c are real numbers and
a ≠ 0
The term b2-4ac is known as the discriminant of a quadratic equation. The discriminant tells the nature of the roots.
  • If discriminant is greater than 0, the roots are real and different.
  • If discriminant is equal to 0, the roots are real and equal.
  • If discriminant is less than 0, the roots are complex and different.
Discriminant of quadratic equation

Example: Program to Find Roots of a Quadratic Equation


#include <stdio.h>
#include <math.h>

int main()
{
    double a, b, c, discriminant, root1, root2, realPart, imaginaryPart;

    printf("Enter coefficients a, b and c: ");
    scanf("%lf %lf %lf",&a, &b, &c);

    discriminant = b*b-4*a*c;

    // condition for real and different roots
    if (discriminant > 0)
    {
    // sqrt() function returns square root
        root1 = (-b+sqrt(discriminant))/(2*a);
        root2 = (-b-sqrt(discriminant))/(2*a);

        printf("root1 = %.2lf and root2 = %.2lf",root1 , root2);
    }

    //condition for real and equal roots
    else if (discriminant == 0)
    {
        root1 = root2 = -b/(2*a);

        printf("root1 = root2 = %.2lf;", root1);
    }

    // if roots are not real 
    else
    {
        realPart = -b/(2*a);
        imaginaryPart = sqrt(-discriminant)/(2*a);
        printf("root1 = %.2lf+%.2lfi and root2 = %.2f-%.2fi", realPart, imaginaryPart, realPart, imaginaryPart);
    }

    return 0;
}   
Output 
Enter coefficients a, b and c: 2.3
4
5.6
Roots are: -0.87+1.30i and -0.87-1.30i
In this program, library function sqrt() is used to find the square root of a number.

Comments

Popular posts from this blog

C Program to Find Factorial of a Number Using Recursion

C Program to Find Factorial of a Number Using Recursion Example to find factorial of a non-negative integer (entered by the user) using recursion. To understand this example, you should have the knowledge of following C programming topics: C Programming Functions C User-defined functions C Recursion The factorial of a positive number n is given by: factorial of n (n!) = 1*2*3*4....n The factorial of a negative number doesn't exist. And the factorial of 0 is 1. You will learn to find the factorial of a number using recursion in this example. Visit this page to learn, how you can find the  factorial of a number using loop . Example: Factorial of a Number Using Recursion #include <stdio.h> long int multiplyNumbers ( int n ); int main () { int n ; printf ( "Enter a positive integer: " ); scanf ( "%d" , & n ); printf ( "Factorial of %d = %ld...

C Program to Add Two Integers

C Program to Add Two Integers In this program, user is asked to enter two integers. Then, the sum of those two integers is stored in a variable and displayed on the screen.   To understand this example, you should have the knowledge of following C programming topics: C Programming Data Types C Programming Constants and Variables C Input Output (I/O) C Programming Operators Program to Add Two Integers #include <stdio.h> int main () { int firstNumber , secondNumber , sumOfTwoNumbers ; printf ( "Enter two integers: " ); // Two integers entered by user is stored using scanf() function scanf ( "%d %d" , & firstNumber , & secondNumber ); // sum of two numbers in stored in variable sumOfTwoNumbers sumOfTwoNumbers = firstNumber + secondNumber ; // Displays sum printf ( "%d + %d = %d" , firstNumber , secondNum...

C Program to Find Factorial of a Number

C Program to Find Factorial of a Number The factorial of a positive integer n is equal to 1*2*3*...n. You will learn to calculate the factorial of a number using for loop in this example. To understand this example, you should have the knowledge of following C programming topics: C Programming Data Types C Programming Operators C if...else Statement C Programming for Loop The factorial of a positive number n is given by: factorial of n (n!) = 1*2*3*4....n The factorial of a negative number doesn't exist. And, the factorial of 0 is 1, 0! = 1 Example: Factorial of a Number #include <stdio.h> int main () { int n , i ; unsigned long long factorial = 1 ; printf ( "Enter an integer: " ); scanf ( "%d" ,& n ); // show error if the user enters a negative integer if ( n < 0 ) printf ( "Error! Factorial of a negative number doesn't exist." ); else ...