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