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

计算一元二次方程

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

#include <stdio.h>
#include <math.h>
int main(){
    double a,b,c;
    double x1,x2,root;
    while((scanf("%lf%lf%lf",&a,&b,&c))!=EOF){
        if(a==0){
            printf("Not quadratic equation");
        }
        else{
            root=b*b-4*a*c;
            if(root>0){
                x1=(-b-sqrt(root))/(2*a);
                x2=(-b+sqrt(root))/(2*a);
                printf("x1=%.2lf;x2=%.2lf\n",x1,x2);
            }
            else if(root<0){
                x1=(-b)/(2*a);
                x2=fabs(sqrt(-root)/(2*a));
                printf("x1=%.2lf-%.2lfi;x2=%.2lf+%.2lfi\n",x1,x2,x1,x2);
            }
            else {
                if(-b/(2*a)==-0.0) printf("x1=x2=0.00\n");
                else printf("x1=x2=%.2lf\n",-b/(2*a));
                }
            }
    }
    return 0;
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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