请编写程序,实现用键盘分别输入一元二次方程ax^2+bx+c=0的三个系数a,b,c,,判断并输出方程是否有实数解
时间: 2024-10-12 12:12:02 浏览: 13
好的,我们可以使用Python编写这个简单的程序。首先,需要计算判别式Δ=b² - 4ac,如果Δ大于等于0,则方程有实数解;等于0则有一根;小于0则无实数解。以下是完整的代码示例:
```python
def quadratic_equation(a, b, c):
discriminant = b**2 - 4*a*c # 计算判别式
if discriminant >= 0: # 如果判别式非负
print("该一元二次方程有实数解.")
if discriminant == 0: # 若判别式等于0,即有两个相同的实根
root = -b / (2 * a)
print(f"两个相同的实根:{root}")
else:
print("该一元二次方程无实数解.")
# 接收用户输入
a = float(input("请输入a的值: "))
b = float(input("请输入b的值: "))
c = float(input("请输入c的值: "))
quadratic_equation(a, b, c)
相关问题
请编写程序实现从键盘分别输入一元二次方程ax^2+bx+c=0的三个系数a、b、c判断并输出方程是否有实数解
首先,我们可以使用Python编写一个简单的程序来实现这个功能。这里会用到数学库`cmath`来进行复数计算,并检查判别式delta是否大于等于零,以确定方程有无实数解。
```python
import cmath
def quadratic_solver(a, b, c):
# 计算判别式 delta = b^2 - 4ac
delta = b ** 2 - 4 * a * c
if delta >= 0: # 实数解
real_roots = (-b + cmath.sqrt(delta)) / (2 * a), (-b - cmath.sqrt(delta)) / (2 * a)
print("该一元二次方程有实数解:")
print(f"两个根分别是 {real_roots[0]} 和 {real_roots[1]}")
elif delta == 0: # 只有一个实数根(重复)
root = -b / (2 * a)
print("该一元二次方程有两个相等的实数根:")
print(f"根为 {root}")
else: # 无实数解,有共轭复数根
print("该一元二次方程无实数解,有两个共轭复数根。")
# 获取用户输入
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
# 调用函数求解
quadratic_solver(a, b, c)
#
编写求解一元二次方程ax2+bx+c=0,方程的a,b,c从键盘输入
好的,以下是求解一元二次方程的 Python 代码:
```python
import math
a = float(input("请输入一元二次方程的 a:"))
b = float(input("请输入一元二次方程的 b:"))
c = float(input("请输入一元二次方程的 c:"))
delta = b**2 - 4*a*c
if delta > 0:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("方程有两个实根:x1={:.2f}, x2={:.2f}".format(x1, x2))
elif delta == 0:
x = -b / (2*a)
print("方程有一个实根:x={:.2f}".format(x))
else:
print("方程无实根!")
```
输入三个系数 a、b、c 后,程序会自动计算方程的解,并输出结果。
需要注意的是,在计算平方根时,我们使用了 math 模块中的 sqrt 函数。此外,我们使用了 format 方法来格式化输出结果,保留两位小数。