输入 a,b,c 三个整数进行一元二次方程(ax^2+bx+c=0), 并判断是否有解, 有解则输出(x1 = ,x2 = ) , 无解则返回“NO SOLUTION” 程序设计要求: 开根号可以使用 sqrt() 库函数(在 math.h 里) , 结果数据保留两位小数
时间: 2024-10-20 10:06:56 浏览: 21
关于丢番图方程Ax4+Bx2 +cy4=z2的解 (2006年)
在程序设计中,解决这个问题需要使用数学知识以及编程技巧。首先,我们需要计算出判别式 D = b^2 - 4ac,因为对于一元二次方程 ax^2 + bx + c = 0,其解的情况取决于判别式的值:
- 当 D > 0 时,方程有两个不同的实数解。
- 当 D = 0 时,方程有一个重根(即两个相同的实数解)。
- 当 D < 0 时,方程没有实数解。
下面是使用 Python 编程的一个简单示例,假设已导入了 `math` 模块:
```python
import math
def quadratic_equation(a, b, c):
# 计算判别式
discriminant = b**2 - 4*a*c
# 判断解的情况并处理
if discriminant >= 0:
# 解的公式 x = [-b ± sqrt(D)] / 2a
root1 = (-b + math.sqrt(discriminant)) / (2 * a)
root2 = (-b - math.sqrt(discriminant)) / (2 * a)
# 返回解的数值,保留两位小数
return f"x1 = {root1:.2f}, x2 = {root2:.2f}"
else:
return "NO SOLUTION"
# 示例用法
print(quadratic_equation(1, -3, 2))
```
在这个函数中,我们先计算判别式,然后基于判别式的正负情况分别计算根的值,并使用 `sqrt()` 函数获取平方根。如果方程无解,函数将直接返回 "NO SOLUTION"。
阅读全文