ADVERTISEMENT
ADVERTISEMENT

C program to find the roots of a quadratic equation

Here, we are going to learn how to find the roots of a quadratic equation using C program?
Submitted by Nidhi, on August 03, 2021

Problem Solution:

Read the value of a, b, and c, and calculate the roots of a quadratic equation.

Program:

The source code to roots of a quadratic equation is given below. The given program is compiled and executed using GCC compile on UBUNTU 18.04 OS successfully.

//C program to roots of a quadratic equation

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

void calculateRoot(float a, float b, float c)
{
    float rootA = 0;
    float rootB = 0;

    float realp = 0;
    float imagp = 0;
    float disc = 0;

    if (a == 0 || b == 0 || c == 0) {
        printf("Error: Unable to determine roots\n");
        return;
    }
    else {
        disc = b * b - 4.0 * a * c;
        if (disc < 0) {
            printf("Imaginary Roots\n");
            realp = -b / (2.0 * a);
            imagp = sqrt(abs(disc)) / (2.0 * a);
            printf("Root1 = %f  +i %f\n", realp, imagp);
            printf("Root2 = %f  -i %f\n", realp, imagp);
        }
        else if (disc > 0) {
            printf("Roots are real and distinct \n");
            rootA = (-b + sqrt(disc)) / (2.0 * a);
            rootB = (-b - sqrt(disc)) / (2.0 * a);
            printf("Root1 = %f  \n", rootA);
            printf("Root2 = %f  \n", rootB);
        }
        else if (disc == 0) {
            printf("Roots are real and equal\n");
            rootA = -b / (2.0 * a);
            rootB = rootA;
            printf("Root1 = %f\n", rootA);
            printf("Root2 = %f\n", rootB);
        }
    }
}

int main()
{
    float a = 0;
    float b = 0;
    float c = 0;

    printf("Enter the values of a: ");
    scanf("%f", &a);

    printf("Enter the values of b: ");
    scanf("%f", &b);

    printf("Enter the values of c: ");
    scanf("%f", &c);

    calculateRoot(a, b, c);

    return 0;
}

Output:

RUN 1:
Enter the values of a: 20
Enter the values of b: 30
Enter the values of c: 40
Imaginary Roots
Root1 = -0.750000  +i 1.198958
Root2 = -0.750000  -i 1.198958

RUN 2:
Enter the values of a: 1.2
Enter the values of b: 2.3
Enter the values of c: 3.4
Imaginary Roots
Root1 = -0.958333  +i 1.381927
Root2 = -0.958333  -i 1.381927

RUN 3:
Enter the values of a: 0
Enter the values of b: 0
Enter the values of c: 1
Error: Unable to determine roots

Explanation:

In the above program, we created two functions calculateRoot() and main(). The calculateRoot() function is used to find-out the roots of a Quadratic Equation.

In the main() functiom, we read three integer numbers a, b, c from the user and called the calculateRoot() function to find-out the roots of a Quadratic Equation and printed the result on the console screen.

C Basic Programs »


ADVERTISEMENT




ADVERTISEMENT



Comments and Discussions!

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.