一元二次方程求解器:计算实数解

本程序用于求解一元二次方程 ax^2 + bx + c = 0 的实数解。您需要输入方程的系数 a、b、c,程序将根据输入计算并输出结果。

输入格式

输入三行数据, 每行输入一个实数,分别代表系数 a、b、c。

代码示例:

a = float(input())
b = float(input())
c = float(input())

if a == 0:
    if b == 0:
        if c == 0:
            print('Data error!')
        else:
            print('该方程无实数解')
    else:
        x = -c / b
        print('{:.2f}'.format(x))
else:
    delta = b * b - 4 * a * c
    if delta < 0:
        print('该方程无实数解')
    elif delta == 0:
        x = -b / (2 * a)
        print('{:.2f}'.format(x))
    else:
        x1 = (-b + delta ** 0.5) / (2 * a)
        x2 = (-b - delta ** 0.5) / (2 * a)
        print('{:.2f} {:.2f}'.format(max(x1, x2), min(x1, x2)))

程序逻辑

  1. 输入系数 a、b、c。
  2. 判断系数 a 是否为 0:
    • 如果 a 为 0,则方程退化为一次方程 bx + c = 0。
      • 如果 b 也为 0,则根据 c 的值判断方程是否有解。
      • 如果 b 不为 0,则求解 x = -c / b。
  3. 如果 a 不为 0,则根据判别式 delta = b^2 - 4ac 判断方程的解的情况:
    • 如果 delta 小于 0,则方程无实数解。
    • 如果 delta 等于 0,则方程有两个相同的实数解,输出该解。
    • 如果 delta 大于 0,则方程有两个不同的实数解,按从大到小顺序输出两个解。

注意:

  • 所有输出结果均保留两位小数。
  • 如果出现数据错误(例如 a 和 b 均为 0,且 c 不为 0),程序将输出 'Data error!'。
一元二次方程求解器:计算实数解

原文地址: https://www.cveoy.top/t/topic/oGIi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录