Code -
//___________Real roots of quadratic equation...(Function Example)________
/* Quadratic equations has roots if and only if the Discriminent of a quadratic equation is greater than or equal to 0
 D = b * b - 4 a * c
    
The formula given above is used to check whether real roots exist or not before calculation */
//____________Inlcude Header Files____________
#include<stdio.h>
#include<conio.h>
 
//_________Inlcuded mainly for getch() function_________
#include<math.h>
  
//Included mainly for the sqrt() function______
int check_roots(int a, int b, int c);
 
//__________Function prototype to check whether real roots exist or not_________
void roots(double discriminent, int a, int b, int c);
 
//_________Function prototype to find out the roots of quadratic equation____________
int main()
   
//_________Function from where the program execution starts_____________
{
  int xsq_coefficient = 0, x_coefficient = 0, constant = 0, discriminent = 0;
  printf("\n\n      _______Program will calculate the roots of a Quadratic Equation______");
  printf("\n\n Quadratic Equation is in form of :- \n\n\t A (x * x) + B (x) + C = 0, where C is a constant");
  //_______Message for User________
  printf("\n\n\t Enter the value for A - ");
 
//__Prompting the user to enter the value for coefficient of X square i.e. x * x__
  scanf("%d", &xsq_coefficient);
   
//__Reading the user input and storing it in variable xsq_coefficient______
  printf("\n\t Enter the value for B - ");
 
//__Prompting the user to enter the value for coefficient of X ___
  scanf("%d", &x_coefficient);
  
//_Reading the user input and storing it in variable x_coefficient__
  printf("\n\t Enter the value for C - ");
  
//_Prompting the user to enter the value of C__
  scanf("%d", &constant);
      
//_Reading the user input and storing it in variable constant____
  discriminent = check_roots (xsq_coefficient, x_coefficient, constant);
 
//_____Calling the check_roots function to get the value for discriminent______
  if (discriminent >= 0)
     
//___Checking if discriminent if +ive and greater than equal to 0, roost exist____
  {
   roots((double)discriminent, xsq_coefficient, x_coefficient, constant);
 
/*___Calling the roots function to find out and display the roots for the quadratic equation__*/
  }
  else
  {
   printf("\n\n\t\t ________Roots are not real________");
      
//__________If roots dont exist, message gets displayed_______________
  }
  printf("\n\n_______________________________________________________________________________");
 
  getch();
  return 0;
   
/*_Return 0 tells the compiler that this program has executed successfully without any error___*/
}
int check_roots(int a, int b, int c)
{
 int discriminent = 0;
  
 discriminent = b * b - 4 * a * c;
 
//_Calculating discriminent using the given formula_
 return discriminent;
}
void roots(double discriminent, int a, int b, int c)
{
 double x1 = 0, x2 = 0;
 //__Finding the first root_____
 x1 = x1 + sqrt(discriminent);
 x1 = x1 - b;
 
 x1 = x1 / (2 * a);
 
 //___Finding the second root___
 if (discriminent == 0.00)
 {
  x2 = x1;
   //___If discriminent is 0, then roots are equal_
 }
 else
 {
  x2= x2 - sqrt(discriminent);
  x2 = x2 - b;
 
  x2 = x2 / (2 * a);
 
 }
 printf("\n\n  Roots for the Quadratic Equation :- %lf, %lf",x1,x2);
   
//____________Displaying the value for the roots______________
}