程输出一元二次方程ax 2 +bx+c=0 的根。系数a,b,c(实数)的值从键盘输入,要求按不同情况输出方程的两个实根和方程没有实根的情形。求根公式如下
时间: 2024-05-08 11:22:07 浏览: 80
根据一元二次方程的求根公式:
当 $b^2-4ac > 0$ 时,方程有两个实根:
$$
x_1=\frac{-b+\sqrt{b^2-4ac}}{2a}, \quad x_2=\frac{-b-\sqrt{b^2-4ac}}{2a}
$$
当 $b^2-4ac = 0$ 时,方程有一个实根:
$$
x=-\frac{b}{2a}
$$
当 $b^2-4ac < 0$ 时,方程没有实根。
因此,可以写出以下 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("方程的两个实根为:{:.2f} 和 {:.2f}".format(x1, x2))
elif delta == 0:
x = -b / (2 * a)
print("方程有一个实根:{:.2f}".format(x))
else:
print("方程没有实根")
```
相关问题
从键盘任意输入a,b,c的值,编程计算并输出一元二次方程ax2+bx+c=0的根(较小的先输出)。根据一元二次方程的求根公式,令
### 回答1:
delta = b*b - 4*a*c
if delta < 0:
print("方程无实数根")
elif delta == 0:
x = -b / (2*a)
print("方程有一个实数根:", x)
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("方程有两个实数根:", x1, x2)
### 回答2:
一元二次方程的求根公式为:x1,2 = (-b ± √b²-4ac) / 2a,其中a、b、c分别为方程系数,√表示求平方根。
对于给定的a、b、c,我们可以使用Python编程语言来解决该问题。先用input函数从键盘输入a、b、c的值,再根据公式计算出两个根并输出。
下面是一份Python代码示例:
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 - delta ** 0.5) / (2 * a) # 计算两个根
x2 = (-b + delta ** 0.5) / (2 * a)
print("该方程有两个解 x1 =", x1, "x2 =", x2)
if x1 > x2: # 输出较小的解
print("较小的根为:", x2)
else:
print("较小的根为:", x1)
以上代码中,float(input())用于从键盘输入浮点数,**表示乘方运算,判别式delta为负时方程无实数根,为0时有唯一根,大于0时有两个根。最后根据x1、x2的大小关系输出较小的解。
通过以上代码示例,我们可知道,一元二次方程求根公式的应用是非常广泛的,不仅在数学领域,也在计算机编程中得到了广泛的应用。
### 回答3:
题目要求输入a、b、c三个值,根据一元二次方程公式计算并输出方程的两个根。
根据一元二次方程公式,可以得到求根公式delta = b^2 - 4ac,判断delta是否小于0,如果小于0则方程无实根,输出无解;如果delta等于0,方程有唯一根,输出该根;如果delta大于0,方程有两个不同实根,输出两个根,较小的先输出。
接下来就是程序实现:
input("请输入a的值:")
input("请输入b的值:")
input("请输入c的值:")
delta = b**2 - 4*a*c
if delta < 0:
print("方程无实根")
elif delta == 0:
print("方程有唯一根,根为:", (-b) / (2*a))
else:
x1 = (-b + delta ** 0.5) / (2 * a)
x2 = (-b - delta ** 0.5) / (2 * a)
print("方程有两个不同实根,较小的根为:", min(x1, x2))
输入任意三个系数,求一元二次方程ax2+bx+c=0的根。a、b、c为任意实数。
一元二次方程的解可以使用二次公式来计算,即当给定方程 `ax^2 + bx + c = 0` 时,其解 x 可以表示为:
\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]
这个公式称为求根公式。在C语言中,我们可以编写一个函数来接受a、b和c作为参数,并返回两个解。以下是实现该功能的一个简单例子:
```c
#include <stdio.h>
#include <math.h> // 引入math库用于计算平方根
// 函数声明,计算一元二次方程的根
void quadratic_equation(double a, double b, double c, double* roots);
int main() {
double a, b, c;
printf("请输入一元二次方程的系数a、b和c:\n");
scanf("%lf %lf %lf", &a, &b, &c);
double roots[2]; // 存储两个解
quadratic_equation(a, b, c, roots);
// 输出结果
if (roots[0] != INFINITY && roots[1] != INFINITY) { // 判断是否有效解
printf("方程的解为:%.2lf 和 %.2lf\n", roots[0], roots[1]);
} else {
printf("方程无实数解。\n");
}
return 0;
}
// 定义计算根的函数
void quadratic_equation(double a, double b, double c, double* roots) {
double discriminant = b * b - 4 * a * c;
if (discriminant >= 0) {
roots[0] = (-b + sqrt(discriminant)) / (2 * a);
roots[1] = (-b - sqrt(discriminant)) / (2 * a);
} else {
roots[0] = roots[1] = INFINITY; // 实数解不存在,设置为无穷大
}
}
```
在这个程序中,用户输入一元二次方程的系数,然后函数`quadratic_equation`计算并存储两个解。如果判别式小于零,说明方程没有实数解,我们用`INFINITY`表示。
阅读全文