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

计算一元二次方程

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

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

int main() {
    float a,b,c;
    float d,e,x1,x2,real,real_,xx1,xx2,x;
    while(scanf("%f %f %f",&a,&b,&c)!=EOF)
    {
        d=b*b-4*a*c;
        e=sqrt(d);
        x=(-b)/(2*a);
        x1=(-b-e)/(2*a);
        x2=(-b+e)/(2*a);
        real=-b/(2*a);
        real_=sqrt(-d)/(2*a);
        xx1=complex(real,-real_);
        xx2=complex(real,real_);

        if(a==0)    printf("Not quadratic equation\n");
        else
        {
            if(d==0)    {if(x1==-0)
            x1=0;
            x2=0;//这里真的太细节了,如果等于-零,你要怎么处理
                
                printf("x1=x2=%.2f\n",x1);}
            else if(d>0)   printf("x1=%.2f;x2=%.2f\n",x1,x2);
            else if(d<0)    printf("x1=%.2f%.2fi;x2=%.2f+%.2fi\n",real,xx1,real,xx2);
            else            ;
        }

        getchar();

    }
    return 0;
}

全部评论

相关推荐

09-22 22:22
中山大学 Java
乌鱼子萨奇:羡慕你啊,直接转正了,都不用经历秋招的炼狱,但是你少经历了很多痛苦的事情啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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