Hello Devs,

In this tutorial, we are going to learn C program to calculate roots of a quadratic equation.

Here is a well-commented example you can understand and analyze.

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

int main(){
  float a,b,c;
  float d,root1,root2;  

 
  printf("Enter a, b and c of quadratic equation: ");
  scanf("%f%f%f",&a,&b,&c);
   
  d = b * b - 4 * a * c;
  
  if(d < 0){
    printf("Roots are complex number.\n");

    printf("Roots of quadratic equation are: ");
    printf("%.3f%+.3fi",-b/(2*a),sqrt(-d)/(2*a));
    printf(", %.3f%+.3fi",-b/(2*a),-sqrt(-d)/(2*a));
  
    return 0; 
  }
  else if(d==0){
   printf("Both roots are equal.\n");

   root1 = -b /(2* a);
   printf("Root of quadratic equation is: %.3f ",root1);

   return 0;
  }
  else{
   printf("Roots are real numbers.\n");
  
   root1 = ( -b + sqrt(d)) / (2* a);
   root2 = ( -b - sqrt(d)) / (2* a);
   printf("Roots of quadratic equation are: %.3f , %.3f",root1,root2);
  }

  return 0;
}

C program to find a b and c in a quadratic equation

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

int main(){
  float a,b,c;
  float d,root1,root2;  

  printf("Enter quadratic equation in the format ax^2+bx+c: ");
  scanf("%fx^2%fx%f",&a,&b,&c);
   
  d = b * b - 4 * a * c;
  
  if(d < 0){
    printf("Roots are complex number.\n");
   
    return 0;
  }
 
   root1 = ( -b + sqrt(d)) / (2* a);
   root2 = ( -b - sqrt(d)) / (2* a);
   printf("Roots of quadratic equation are: %.3f , %.3f",root1,root2);

  return 0;
}


I hope this example helps you.