java分支结构综合练习一之一元二次方程求解
时间: 2023-04-25 08:02:56 浏览: 349
题目描述:输入一元二次方程的系数a、b、c,求解方程的根。
解题思路:根据一元二次方程的求解公式,先计算出判别式,再根据判别式的值来判断方程有几个实根或虚根,最后计算出根的值。
具体步骤如下:
1. 输入a、b、c三个系数。
2. 计算判别式delta = b^2 - 4ac。
3. 判断delta的值:
a. 如果delta > ,则方程有两个实根,分别为x1 = (-b + sqrt(delta)) / (2a)和x2 = (-b - sqrt(delta)) / (2a)。
b. 如果delta = ,则方程有一个实根,为x = -b / (2a)。
c. 如果delta < ,则方程有两个虚根,分别为x1 = (-b + sqrt(-delta)i) / (2a)和x2 = (-b - sqrt(-delta)i) / (2a),其中i为虚数单位。
4. 输出方程的根。
代码实现如下:
相关问题
练习-java分支结构综合练习一之一元二次方程求解
好的,下面是练习-java分支结构综合练习一之一元二次方程求解的中文回复:
题目描述:
输入一元二次方程的系数a、b、c,求解方程的根。如果方程无实数根,则输出“无实数根”。
解题思路:
根据一元二次方程的求解公式,可以得到方程的两个根:
x1 = (-b + sqrt(b^2 - 4ac)) / 2a
x2 = (-b - sqrt(b^2 - 4ac)) / 2a
其中,sqrt表示求平方根。如果b^2 - 4ac小于,则方程无实数根。
根据输入的系数a、b、c,可以先判断b^2 - 4ac是否小于,如果是,则输出“无实数根”,否则按照上述公式计算方程的两个根,并输出。
代码实现:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double a = scanner.nextDouble();
double b = scanner.nextDouble();
double c = scanner.nextDouble();
double delta = b * b - 4 * a * c;
if (delta < ) {
System.out.println("无实数根");
} else {
double x1 = (-b + Math.sqrt(delta)) / (2 * a);
double x2 = (-b - Math.sqrt(delta)) / (2 * a);
System.out.println("x1=" + x1 + ", x2=" + x2);
}
}
}
注意事项:
1. 输入的系数a、b、c应该是double类型,否则可能会出现精度问题。
2. 在计算平方根时,应该使用Math.sqrt()方法。
3. 输出结果时,应该按照题目要求格式化输出。
阅读全文