求根公式用于解一元二次方程 \( ax^2 + bx + c = 0 \),其根由以下公式给出:
\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]
Python
```python
import math
def solve_quadratic(a, b, c):
discriminant = b2 - 4*a*c
if discriminant < 0:
return "方程无实根"
elif discriminant == 0:
return -b / (2*a)
else:
x1 = (-b + math.sqrt(discriminant)) / (2*a)
x2 = (-b - math.sqrt(discriminant)) / (2*a)
return x1, x2
获取用户输入
a = float(input("请输入二次项系数: "))
b = float(input("请输入一次项系数: "))
c = float(input("请输入常数项: "))
计算并输出结果
roots = solve_quadratic(a, b, c)
print("方程的根为:", roots)
```
Java
```java
import java.util.Scanner;
import java.lang.Math;
public class QuadraticSolver {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入二次项系数: ");
double a = scanner.nextDouble();
System.out.print("请输入一次项系数: ");
double b = scanner.nextDouble();
System.out.print("请输入常数项: ");
double c = scanner.nextDouble();
double discriminant = b * b - 4 * a * c;
if (discriminant < 0) {
System.out.println("方程无实根");
} else if (discriminant == 0) {
System.out.println("方程有一个实根: " + (-b / (2 * a)));
} else {
double x1 = (-b + Math.sqrt(discriminant)) / (2 * a);
double x2 = (-b - Math.sqrt(discriminant)) / (2 * a);
System.out.println("方程有两个实根: " + x1 + " 和 " + x2);
}
}
}
```
C++
```cpp
include include int main() { double a, b, c, discriminant, x1, x2; std::cout << "请输入二次项系数: "; std::cin >> a; std::cout << "请输入一次项系数: "; std::cin >> b; std::cout << "请输入常数项: "; std::cin >> c; discriminant = b * b - 4 * a * c; if (discriminant < 0) { std::cout << "方程无实根" << std::endl; } else if (discriminant == 0) { std::cout << "方程有一个实根: " << (-b / (2 * a)) << std::endl; } else { x1 = (-b + std::sqrt(discriminant)) / (2 * a); x2 = (-b - std::sqrt(discriminant)) / (2 * a); std::cout << "方程有两个实根: " << x1 << " 和 " << x2 << std::endl; } return 0; } ``` 这些示例代码展示了如何在不同编程语言中实现求根公式,并处理不同的情况,包括方程无实根、有一个实根和有两个实根。用户可以根据需要选择合适的编程语言进行实现。