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

计算一元二次方程

https://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26

#include <stdio.h>
#include <math.h>

int main() {
    float a = 0;
    float b = 0;
    float c = 0;
    float x1 = 0;
    float x2 = 0;
    while (scanf("%f%f%f", &a, &b, &c) != EOF) {
        float d = -b / (2.0 * a);
        float det = b * b - 4.0 * a * c;
        if (a == 0)
            printf("Not quadratic equation");
        else {
            if (det == 0) {
                x1 = -b / (2.0 * a);
                x2 = -b / (2.0 * a);
                if (x1 != 0)
                    printf("x1=x2=%.2f", x1);
                else
                    printf("x1=x2=0.00");
            } else if (det > 0) {
                x1 = -b / (2.0 * a) - sqrt(det) / (2.0 * a);
                x2 = -b / (2.0 * a) + sqrt(det) / (2.0 * a);
                printf("x1=%.2f;x2=%.2f", x1, x2);
            } else {
                x1 = sqrt(-det) / (2.0 * a);
                x2 = sqrt(-det) / (2.0 * a);
                printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi", d, x1, d, x2);
            }
        }
        printf("\n");
    }
    return 0;
}

主要是注意括号怎么打和情况怎么分

全部评论

相关推荐

用微笑面对困难:985只有在应届生里面的优势是断层的在社招或者更远的工作中算是后续能力优先级
工作压力大,你会干什么?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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