写一个解一元二次方程程序
时间: 2023-05-19 10:00:47 浏览: 74
好的,以下是一个解一元二次方程的 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:
print("方程无实数解")
elif delta == 0:
x = -b / (2 * a)
print("方程有唯一实数解 x =", x)
else:
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
print("方程有两个实数解 x1 =", x1, "x2 =", x2)
```
你可以通过输入二次项系数、一次项系数和常数项来求解一元二次方程的解。如果方程无实数解,程序会输出“方程无实数解”;如果方程有唯一实数解,程序会输出“方程有唯一实数解 x = 解的值”;如果方程有两个实数解,程序会输出“方程有两个实数解 x1 = 解的值1 x2 = 解的值2”。
相关问题
写一个解一元二次方程的程序
以下是一个解一元二次方程的 Python 程序:
```python
import math
def solve_quadratic_equation(a, b, c):
"""解一元二次方程:ax^2 + bx + c = 0"""
# 计算判别式
delta = b**2 - 4*a*c
# 判断方程根的情况并返回结果
if delta < 0:
return "此方程无实数解"
elif delta == 0:
x = -b / (2*a)
return f"此方程有唯一实数解:x = {x}"
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
return f"此方程有两个实数解:x1 = {x1}, x2 = {x2}"
# 测试代码
print(solve_quadratic_equation(1, -3, 2))
# 输出:此方程有两个实数解:x1 = 2.0, x2 = 1.0
print(solve_quadratic_equation(1, 2, 1))
# 输出:此方程有唯一实数解:x = -1.0
print(solve_quadratic_equation(1, 1, 1))
# 输出:此方程无实数解
```
该程序中使用 `math` 模块中的 `sqrt` 函数求解平方根,具体实现过程中先计算判别式 $\Delta = b^2 - 4ac$,然后根据判别式的大小判断方程根的情况并返回结果。
用c++写一个解一元二次方程的程序
好的,以下是一个用 C 语言编写的解一元二次方程的程序:
```
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, delta, x1, x2;
printf("请输入一元二次方程的系数:\n");
printf("a = ");
scanf("%lf", &a);
printf("b = ");
scanf("%lf", &b);
printf("c = ");
scanf("%lf", &c);
delta = b * b - 4 * a * c;
if (delta < 0) {
printf("方程无实数解!\n");
} else if (delta == 0) {
x1 = x2 = -b / (2 * a);
printf("方程有唯一实数解:x1 = x2 = %.2f\n", x1);
} else {
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程有两个实数解:x1 = %.2f,x2 = %.2f\n", x1, x2);
}
return 0;
}
```
希望能够帮到你!