求 ax² +bx+c =0方程的根。a、b、c由键盘输入,设b²-4ac>0用python
时间: 2024-10-06 14:01:15 浏览: 34
求解一元二次方程 \(ax^2 + bx + c = 0\) 的根,当判别式 \(\Delta = b^2 - 4ac > 0\) 时,可以使用公式法。在Python中,你可以使用cmath模块处理复数情况,因为如果判别式小于零,意味着有一个虚部。以下是解决这个问题的一个示例代码:
```python
import cmath
def solve_quadratic_equation(a, b, c):
# 计算判别式
delta = (b ** 2) - (4 * a * c)
# 根据判别式的值计算两个解
root1 = (-b - cmath.sqrt(delta)) / (2 * a)
root2 = (-b + cmath.sqrt(delta)) / (2 * a)
return root1, root2
# 获取用户输入
a = float(input("请输入a的值: "))
b = float(input("请输入b的值: "))
c = float(input("请输入c的值: "))
# 如果判别式大于零,计算并打印实数根
if b**2 - 4*a*c > 0:
roots = solve_quadratic_equation(a, b, c)
print(f"方程的两个根分别是: {roots[0]:.2f}, {roots[1]:.2f}")
else:
print("方程无实数根,有两个共轭复数根.")
相关问题
用c语言求ax²+bx+c=0方程的根,a,b,c由键盘输入,设b²-4ac>0
在C语言中,求解一元二次方程`ax^2 + bx + c = 0`的根,通常需要使用公式:
```c
x1 = (-b + sqrt(b*b - 4*a*c)) / (2*a)
x2 = (-b - sqrt(b*b - 4*a*c)) / (2*a)
其中`sqrt()`表示平方根函数,当判别式`b*b - 4*a*c > 0`(即一元二次方程有两个实数根)时有效。
以下是一个简单的程序示例,展示了如何获取用户输入的系数并计算根:
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, x1, x2;
printf("请输入一元二次方程的系数a、b和c:\n");
scanf("%lf %lf %lf", &a, &b, &c);
// 检查判别式是否大于0
if (b * b - 4 * a * c > 0) {
x1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a);
x2 = (-b - sqrt(b * b - 4 * a * c)) / (2 * a);
printf("方程的两个根分别为:%.2lf 和 %.2lf\n", x1, x2);
} else {
printf("方程无实数根。\n");
}
return 0;
}
c语言求ax²+bx+c=0方程的根,其中a,b,c从键盘输入。
以下是c语言代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, x1, x2, discriminant;
printf("请输入a, b, c的值:");
scanf("%f %f %f", &a, &b, &c);
discriminant = b*b - 4*a*c;
if (discriminant > 0) {
x1 = (-b + sqrt(discriminant)) / (2*a);
x2 = (-b - sqrt(discriminant)) / (2*a);
printf("方程的两个根为:x1 = %.2f, x2 = %.2f", x1, x2);
}
else if (discriminant == 0) {
x1 = -b / (2*a);
printf("方程的根为:x1 = x2 = %.2f", x1);
}
else {
printf("方程无实根");
}
return 0;
}
```
首先,我们需要从键盘输入a、b、c的值。然后,我们计算判别式discriminant的值,用它来判断方程的根的情况。
如果判别式discriminant大于0,方程有两个不同的实根,我们可以使用求根公式计算出两个根x1和x2,并打印它们的值。
如果判别式discriminant等于0,方程有一个重根,我们可以使用求根公式计算出根x1,并将其打印两次。
如果判别式discriminant小于0,方程没有实根。我们只需打印"方程无实根"即可。
阅读全文