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

计算一元二次方程

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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextDouble()) { // 注意 while 处理多个 case
            double a = in.nextDouble();
            double b = in.nextDouble();
            double c = in.nextDouble();
            double d=b*b-4*a*c;
            if(a==0){
                System.out.printf("Not quadratic equation");
            }else if(d==0){
                double m=-b/(2*a);
                if(b==0)
                m=0.00;
                System.out.printf("x1=x2=%.2f",m);
            }else if(d>0){
                System.out.printf("x1=%.2f;x2=%.2f",(-b-Math.sqrt(d))/(2*a),(-b+Math.sqrt(d))/(2*a));
            }else{
                double m=-b/(2*a);
                if(b==0)
                m=0.00;
                double n=Math.sqrt(-d)/(2*a);
                System.out.printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi",m,n,m,n);
            }
            System.out.println();
        }   
    }
}

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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