题解 | #计算一元二次方程#

计算一元二次方程

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;
}

#完美版本#
全部评论

相关推荐

迷茫的大四🐶:你这个拿去投央国企吧,投私企包过不了的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务