V tomto příkladu se naučíte najít kořeny kvadratické rovnice v programování C.
Abychom pochopili tento příklad, měli byste mít znalosti o následujících programovacích tématech jazyka C:
- Programovací operátoři C.
- C pokud … jiné prohlášení
Standardní forma kvadratické rovnice je:
ax 2 + bx + c = 0, kde a, bac jsou reálná čísla a a! = 0
Termín je známý jako diskriminátor kvadratické rovnice. Vypovídá o povaze kořenů.b2-4ac
- Pokud je diskriminátor větší než
0
, kořeny jsou skutečné a odlišné. - Pokud se diskriminátor rovná
0
, kořeny jsou skutečné a stejné. - Pokud je diskriminátor menší než
0
, kořeny jsou složité a odlišné.

Program pro nalezení kořenů kvadratické rovnice
#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; )
Výstup
Zadejte koeficienty a, bac: 2,3 4 5,6 root1 = -0,87 + 1,30i a root2 = -0,87-1,30i
V tomto programu se sqrt()
funkce knihovny používá k nalezení druhé odmocniny čísla. Chcete-li se dozvědět více, navštivte: funkci sqrt ().