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

计算一元二次方程

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

#完美版本#
全部评论

相关推荐

北斗导航Compass低仿版:学历一般 没实习 非科班,肯定很难过初筛了,先找个中小厂好好干吧,拿这段实习去投大厂实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务