本题目要求读入3个一元二次方程的系数a,b,c,求该方程的实数根(也可能有复数根)。当判别式delta=bb-4ac <0时方程没有实数,当a=0时不能构成二次方程。请采用异常处理的方式,解决此类。‘
时间: 2024-02-19 14:59:22 浏览: 194
一元二次方程的根与系数的关系.doc
好的,我明白了。针对您的问题,我推荐使用Python来实现。具体的代码如下:
```python
import math
class QuadraticEquation:
def __init__(self, a, b, c):
if a == 0:
raise ValueError("a不能为0,否则不构成二次方程")
self.a = a
self.b = b
self.c = c
def getDiscriminant(self):
return self.b * self.b - 4 * self.a * self.c
def getRoot1(self):
if self.getDiscriminant() < 0:
raise ValueError("方程没有实数根")
else:
return (-self.b + math.sqrt(self.getDiscriminant())) / (2 * self.a)
def getRoot2(self):
if self.getDiscriminant() < 0:
raise ValueError("方程没有实数根")
else:
return (-self.b - math.sqrt(self.getDiscriminant())) / (2 * self.a)
if __name__ == '__main__':
try:
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
equation = QuadraticEquation(a, b, c)
print("方程的两个实数根分别为:", equation.getRoot1(), "和", equation.getRoot2())
except ValueError as e:
print(e)
```
以上代码定义了一个名为QuadraticEquation的类,该类包含了计算一元二次方程实数根的方法。在输入系数a、b、c时,如果a为0,则会抛出ValueError异常,否则会计算出方程的两个实数根并输出。如果方程没有实数根,则也会抛出ValueError异常。
阅读全文