C program a másodfokú egyenlet gyökereinek megkeresésére

Ebben a példában megtanulja megtalálni a másodfokú egyenlet gyökereit a C programozásban.

A példa megértéséhez ismernie kell a következő C programozási témákat:

  • C programozó operátorok
  • C ha … más nyilatkozat

A másodfokú egyenlet standard formája:

ax 2 + bx + c = 0, ahol a, b és c valós számok és a! = 0

A kifejezést másodfokú egyenlet diszkriminánsaként ismerjük. Elmondja a gyökerek természetét.b2-4ac

  • Ha a diszkrimináns nagyobb, mint 0, akkor a gyökerek valósak és különbözőek.
  • Ha a megkülönböztető egyenlő 0, akkor a gyökerek valósak és egyenlőek.
  • Ha a diszkrimináns kisebb, mint 0, akkor a gyökerek összetettek és eltérőek.
Ábra: A másodfokú egyenlet gyökerei

Program a másodfokú egyenlet gyökereinek megkeresésére

 #include #include int main() ( double a, b, c, discriminant, root1, root2, realPart, imagPart; 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) ( 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); imagPart = sqrt(-discriminant) / (2 * a); printf("root1 = %.2lf+%.2lfi and root2 = %.2f-%.2fi", realPart, imagPart, realPart, imagPart); ) return 0; ) 

Kimenet

 Adja meg az a, b és c együtthatókat: 2,3 4 5,6 root1 = -0,87 + 1,30i és root2 = -0,87-1,30i 

Ebben a programban a sqrt()könyvtár függvényt használják egy szám négyzetgyökének megtalálásához. Ha többet szeretne megtudni, keresse fel az sqrt () függvényt.

érdekes cikkek...