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

计算一元二次方程

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

#include <stdio.h>
#include <math.h>
int main() {
    float a,b,c;
    while(scanf("%f %f %f",&a,&b,&c)!=EOF)
    {
        if(a==0)
        {
            printf("Not quadratic equation\n");
        }
        else
        {
            float flag = b*b-(4*a*c);
            if(flag==0)
            {
                if(b==c&&c==0)//b和c任意一个为零,另一个也为零
                {
                    printf("x1=x2=0.00\n");
                }
                else
                {
                    printf("x1=x2=%.2f\n",-b/(2*a));//flag为0,不用再写
                }
            }
            else if(flag>0)
            {
                float x1 = (-b-sqrt(flag))/(2.0*a);
                float x2 = (-b+sqrt(flag))/(2.0*a);
                printf("x1=%.2f;x2=%.2f",x1,x2);
            }
            else
            {
                float image = sqrt(-flag)/(2.0*a);
                float real = -b/(2.0*a);
                if(image<0)//注意x1虚部小于x2虚部系数
                    image = -image;
                printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",-b/(2*a),image,-b/(2*a),image);
            }
        }
    }
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 12:20
点赞 评论 收藏
分享
05-22 12:44
已编辑
门头沟学院 golang
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 13:05
TMD找工作本来就烦,这东西什么素质啊😡
Beeee0927:hr是超雄了,不过也是有道理的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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