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

计算一元二次方程

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) {
        double m = b * b - 4 * a * c;
        if (a == 0)
            printf("Not quadratic equation\n");
        else {
            double x1 = (-b - sqrt(m)) / (2 * a), x2 = (-b + sqrt(m)) / (2 * a);
            if(x2==-0)
            x2=0;
            if (m == 0) {
                printf("x1=x2=%.2lf\n", x2);
            }
            else if(m>0)
            printf("x1=%.2lf;x2=%.2lf\n",x1,x2);
            else{
                double y1=-b/(2*a),y2=sqrt(-m)/(2*a);
            if(a>0){
                printf("x1=%.2lf-%.2lfi;x2=%.2lf+%.2lfi\n",y1,y2,y1,y2); 
            }
            else {
            printf("x1=%.2lf%.2lfi;x2=%.2lf%.2lfi\n",y1,y2,y1,y2); 
            }
            }
        }
    }
    return 0;
}

全部评论

相关推荐

07-02 10:44
门头沟学院 C++
码农索隆:太实诚了,告诉hr,你能实习至少6个月
点赞 评论 收藏
分享
机械打工仔:我来告诉你原因,是因为sobb有在线简历,有些HR为了快会直接先看在线简历,初步感觉不合适就不会找你要详细的了
投了多少份简历才上岸
点赞 评论 收藏
分享
北漂的牛马人:211佬,包进的,可能是系统问题
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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