蓝桥杯-算法训练-P0104(java)

求方程ax2+bx+c=0的实数根。a, b, c由键盘输入, a!=0。若只有一个实数根(b2-4ac=0)则只输出x1,若无实数根(b2-4ac<0)则输出Error。
输入
  2.5 7.5 1.0
输出
(注意等号前面后面都有一个空格)
  x1 = -0.139853
  x2 = -2.860147


程序如下:
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		double a=sc.nextDouble();
		double b=sc.nextDouble();
		double c=sc.nextDouble();
		double det=b*b-4*a*c;
		double x1=0.0;
		double x2=0.0;
		if(det<0) {
			System.out.println("Error");
		}else {
			if(det==0) {
				x1=-b/(2*a);
				System.out.printf("x1 = %.6f\n",x1);
			}else {
				x1=(-b+Math.sqrt(det))/(2*a);
				x2=(-b-Math.sqrt(det))/(2*a);
				System.out.printf("x1 = %.6f\n",x1);
				System.out.printf("x2 = %.6f\n",x2);
			}
		}
	}
}

你可能感兴趣的:(蓝桥杯)