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

计算一元二次方程

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

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

int main() 
{
    float a,b,c,x1,x2,o;
    while(scanf("%f%f%f",&a,&b,&c)!=EOF)
    {
        o=b*b-4*a*c;
        if(a==0)
            printf("Not quadratic equation");
        else
        {
            if(o==0)
            {
                x1=-b/(2*a);
                if(x1==0)                      //解决x1是-0.00的情况
                    printf("x1=x2=0.00\n");     //
                else
                    printf("x1=x2=%.2f\n",x1);
            }
            else if(o>0)
            {
                x1=(-b-sqrt(o))/(2*a);
                x2=(-b+sqrt(o))/(2*a);
                printf("x1=%.2f;x2=%.2f\n",x1,x2);
            }
            else 
            {
                x1=-b/(2*a);
                x2=sqrt(-o)/(2*a);
                printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",x1,x2,x1,x2);
            }
        }
    }
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务