按c语言以下要求编写程序,练习函数的定义与调用方法,上机运行观察分析结果。求方程ax2+bx+c=0的根,用3个函数分别求当b2-4ac大于0、等于0和小于0时的根并输出结果。从主函数输入a,b,c的值。
时间: 2023-11-29 21:18:01 浏览: 82
好的,下面是完整的 Python 程序,可以实现您所需的功能:
```python
import math
def roots_greater_than_zero(a, b, c):
x1 = (-b + math.sqrt(b*b-4*a*c)) / (2*a)
x2 = (-b - math.sqrt(b*b-4*a*c)) / (2*a)
print("方程的两个实根为:x1=%.2f, x2=%.2f" % (x1, x2))
def roots_equal_to_zero(a, b, c):
x = -b / (2*a)
print("方程的两个相等实根为:x=%.2f" % x)
def roots_less_than_zero(a, b, c):
real = -b / (2*a)
imag = math.sqrt(-b*b+4*a*c) / (2*a)
print("方程的两个共轭复根为:x1=%.2f+%.2fi, x2=%.2f-%.2fi" % (real, imag, real, imag))
a, b, c = input("请输入方程ax^2+bx+c=0中的系数a, b, c,用空格分隔:").split()
a, b, c = float(a), float(b), float(c)
delta = b*b - 4*a*c
if delta > 0:
roots_greater_than_zero(a, b, c)
elif delta == 0:
roots_equal_to_zero(a, b, c)
else:
roots_less_than_zero(a, b, c)
```
程序分为两部分:三个分别求解根的函数和主函数。当用户输入系数 a、b、c 后,主函数会根据 delta 的正负情况,调用不同的分别求解根的函数。具体解释见注释。
希望这个程序对您有所帮助!
阅读全文