c++求一元二次方程的根 定义函数
时间: 2023-11-10 19:03:07 浏览: 127
一元二次方程的一般形式为ax^2 + bx + c = 0,其中a、b、c为已知的实数,且a ≠ 0。
我们可以定义一个函数来求解一元二次方程的根。
```python
import math
def solve_quadratic_equation(a, b, c):
delta = b ** 2 - 4 * a * c
if delta > 0:
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
return x1, x2
elif delta == 0:
x = -b / (2 * a)
return x
else:
return None
# 调用函数来求解一元二次方程的根
a = 1
b = 2
c = 1
roots = solve_quadratic_equation(a, b, c)
if roots is None:
print("方程无实数根")
else:
if isinstance(roots, tuple):
print("方程有两个实数根:", roots[0], "和", roots[1])
else:
print("方程有一个实数根:", roots)
```
在函数内部,我们首先计算方程的判别式delta,然后根据delta的值进行分情况讨论:
- 如果delta大于0,说明方程有两个不相等的实数根,此时我们利用求根公式求出根x1和x2,并将其返回;
- 如果delta等于0,说明方程有两个相等的实数根,此时我们利用求根公式求出唯一的根x,并将其返回;
- 如果delta小于0,说明方程无实数根,此时我们返回None。
最后,我们通过调用函数,并根据返回值的情况打印出相应的结果。
阅读全文