Examples of C part 41 roots of quadratic equations
Program :
Output:
Enter the values of A, B and C
1
2
3
Imaginary Roots
Root1 = -1.000000 +i 1.414214
Root2 = -1.000000 -i 1.414214Explanation:
#include<stdio.h> #include<stdlib.h> #include<math.h> int main() { float A, B, C, root1, root2; float real, imaginary, discriminant; printf("Enter the values of A, B and C\n"); scanf("%f %f %f", &A,&B,&C); if( A==0 || B==0 || C==0) { printf("Error: Roots cannot be determined\n"); } else { discriminant = B*B - 4.0*A*C; if(discriminant < 0) { printf("Imaginary Roots\n"); real = -B/(2.0*A) ; imaginary = sqrt(abs(discriminant))/(2.0*A); printf("Root1 = %f +i %f\n",real, imaginary); printf("Root2 = %f -i %f\n",real, imaginary); } else if(discriminant == 0) { printf("Roots are real and equal\n"); root1 = -B/(2.0*A); root2 = root1; printf("Root1 = %f \n",root1); printf("Root2 = %f \n",root2); } else if(discriminant > 0 ) { printf("Roots are real and distinct\n"); root1 =(-B+sqrt(discriminant))/(2.0*A); root2 =(-B-sqrt(discriminant))/(2.0*A); printf("Root1 = %f \n",root1); printf("Root2 = %f \n",root2); } } return 0; }
Enter the values of A, B and C
1
2
3
Imaginary Roots
Root1 = -1.000000 +i 1.414214
Root2 = -1.000000 -i 1.414214Explanation:
- As you know a quadratic equation is ax2+bx+c
- The program starts with initilizing
- A-for storing value of a as in ax2+bx+c
- B-for storing value of b as in ax2+bx+c
- C-for storing value of c as in ax2+bx+c
- Checking whether all values are 0 or not and if any one of them is zero then it will
- print an error message saying roots can't be determined.
- If step 3 is not satisfied then
- we should calculate discriminant by using formula (d=b2-4ac)
- If discriminant is less than zero
- There are no real roots and all are imaginary
- real part is calculated by using formula real=-b/2a
- imaginary part is calculated by formula imaginary=√|d|/2a
- Then printing roots of equation.
- If discriminant is equal to zero then the roots are Real and Equal
- roots are calculated by using formula root=-b/2a for both
- Then printing roots of equation.
- If discriminant is greater than zero then the Roots are real and distinct
- root1 is calculated by using formula root1=(-b+√|d|/2a)/2a
- root2 is calculated by formula root2=(-b-√|d|/2a)/2a
- Then printing roots of equation.
- If discriminant is less than zero
- we should calculate discriminant by using formula (d=b2-4ac)