题解 | 计算一元二次方程
计算一元二次方程
https://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26
#include <stdio.h> #include <math.h> int main() { float a,b,c,m,x1,x2; while((scanf("%f %f %f\n",&a,&b,&c) != EOF)){ m = b * b - 4 * a * c; float n = sqrt (m); float p = sqrt (-m); if(a == 0){ printf("Not quadratic equation"); }else if(a != 0){ if(m == 0){ float j1 = (-b + n) / (2 * a); if(j1 == 0){ printf("x1=x2=0.00\n"); }else{ printf("x1=x2=%.2f\n",j1); } }else if(m > 0){ printf("x1=%.2f;x2=%.2f\n",(-b - n) / (2 *a),(-b + n) / (2 * a)); }else if(m < 0){ printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",(-b) / (2 * a),p / (2 * a),(-b) / (2 * a),p / (2 *a)); } } } return 0;//虽然运行得了,但我总感觉有点问题,但具体又说不出来是哪? }