Kvadratiska ekvationslösaren i C (1 / 2 steg)
Steg 1: Den kod & testa olika scenarier
Koden är inklippt nedan, och dess ursprungliga filen fästas ovanför. Dessutom visar bifogade siffrorna resultaten av olika scenarier.
Copyright © 2016 Talal. Alla rättigheter reserverade.
#include < stdio.h >
#include < math.h >
Detta bibliotek måste ingå för att använda inbyggda matematiska funktioner
int main)
{
samtidigt (1)
{
påminna användaren i formatet andragradsekvationen
printf ("andragradsekvation format: aX ^ 2 + bX + c \n");
deklarera ingångar och utgångar och deras typer
float a, b, c, avgörande, x1, x 2, realSolution, imaginarySolution;
ta indata från användaren
printf ("Ange koefficienterna a, b, c respektive separerade av ett kommatecken \n");
scanf ("%f, %f %f", & a & b & c);
om (en == 0)
{
printf ("detta inte är en andragradsekvation \n");
bryta;
}
beräkna det avgörande för att fastställa antalet och typ av lösningar
Determinant = ((b*b)-(4 * en * c));
printf ("Determinant = %f \n", avgörande);
om (determinant == 0)
{
om avgörande är noll, då blir det en lösning
x1 = x2 = (-b)/(2*a);
printf ("en verklig lösning och det är %0.1f \n", x1);
}
annars om (avgörande > 0)
{
x1 = ((-b) + sqrtf(determinant))/(2*a);
x2 = ((-b) - sqrtf(determinant))/(2*a);
printf ("två distinkta reella lösningar och de är %0 .1f och %0.1f \n", x1, x2);
}
annat
{
Slutligen, om avgörande är negativa, sedan lösningarna som kommer att innehålla en imaginär del
realSolution = -b /(2*a);
imaginarySolution = sqrtf(-determinant)/(2*a);
printf ("komplexa lösningar, och de är %0.1f + %0.1fi och %0.1f - %0.1fi \n", realSolution, imaginarySolution, realSolution, imaginarySolution);
}
}
}