题解 | #计算一元二次方程#
计算一元二次方程
https://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, x1, x2, w, m, n;
while(scanf("%f %f %f", &a, &b, &c) != EOF) {
w = b*b - 4*a*c;
n = sqrt(-w) / (2*a);
m = -b / (2*a);
if(a != 0){
if(w==0){
if(m==0){
printf("x1=x2=0.00\n");
}else{
x1 = x2= m;
printf("x1=x2=%.2f\n", x1);}
}
else if(w > 0){
x1 = (-b-sqrt(w))/(2*a);
x2 = (-b+sqrt(w))/(2*a);
printf("x1=%.2f;x2=%.2f\n", x1, x2);
}
else if(w < 0){
printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n", m, n, m, n);
}
}else if(a == 0){
printf("Not quadratic equation\n");
}
}
return 0;
}