题解 | #计算一元二次方程#
计算一元二次方程
https://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26
#include <stdio.h>
#include <math.h>
int main() {
    double a, b, c;
    while (scanf("%lf%lf%lf", &a, &b, &c) != EOF) {
        if (a == 0) {
            printf("Not quadratic equation\n");
        } else {
            double x = b*b - 4*a*c;
            if (x == 0) {
                printf("x1=x2=%.2f\n",(-b/(2*a)==0 ? 0:-b/(2*a)));
            }
            else if (x > 0) {
                printf("x1=%.2f;x2=%.2f\n",a>0? ((-b-sqrt(x))/(2*a)):((-b+sqrt(x))/(2*a)),a<0? ((-b-sqrt(x))/(2*a)):((-b+sqrt(x))/(2*a)));
            }
            else {
                double ia = -b/(2*a), ib = sqrt(-x)/(2*a);
                if (b == 0) {
                    ia = 0;
                }
                printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",ia,ib,ia,ib);
            }
        };
    }
    return 0;
}
#完美版本# 查看23道真题和解析
查看23道真题和解析 投递中国邮政储蓄银行等公司10个岗位
投递中国邮政储蓄银行等公司10个岗位