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

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

#include<stdio.h>
int main()
{
    float a,b,c,d;
    while (scanf("%f %f %f",&a,&b,&c)!=EOF)
    {
        d=b*b-4*a*c;
        if (a==0)
            printf("Not quadratic equation\n");
        else
        {
            if (d==0)
                printf("x1=x2=%.2f\n",(-b/(2*a)==0)?0:(-b/(2*a)));
            else if (d>0)
                printf("x1=%.2f;x2=%.2f\n",(-b-sqrt(d))/(2*a),(-b+sqrt(d))/(2*a));
            else
                printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",-b/(2*a),fabs(sqrt(-d)/(2*a)),-b/(2*a),fabs(sqrt(-d)/(2*a)));
        }
    }
    return 0;
}
上面的几个答案都有点小bug,主要是+-0.00还有叙述多一个负号的问题
全部评论
少个头文件
点赞 回复 分享
发布于 2022-11-08 11:02 黑龙江

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务