编程求解一元二次方程ax*x+b*x+c=0的两个实根,a,b,c由键盘输入,其中a≠0且b*b-4*a*c>0
时间: 2023-05-24 09:02:23 浏览: 118
可以使用以下公式求解一元二次方程ax²+bx+c=0的两个实根:
x1 = (-b + sqrt(b^2 - 4ac)) / 2a
x2 = (-b - sqrt(b^2 - 4ac)) / 2a
其中,sqrt()表示求平方根,a,b,c为输入的参数。根据题目要求,需要保证a不等于0且b^2-4ac大于0。因此,可以使用以下Python代码解决问题:
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
if a == 0 or b**2 - 4*a*c < 0:
print("该方程无实根!")
else:
x1 = (-b + (b**2 - 4*a*c)**0.5) / (2*a)
x2 = (-b - (b**2 - 4*a*c)**0.5) / (2*a)
print("方程 %fx^2 + %fx + %f = 0 的两个实根分别为:%f和%f" % (a,b,c,x1,x2))
相关问题
编程求解一元二次方程 ax^2+bx+c=0方程中的。a,b,c系数从键盘输入《提示:分支嵌套》
下面是一元二次方程求解的C代码,其中a、b、c从键盘输入:
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, delta, x1, x2;
printf("请输入一元二次方程的系数 a, b, c:");
scanf("%lf%lf%lf", &a, &b, &c);
delta = b * b - 4 * a * c;
if (a == 0) {
printf("该方程不是一元二次方程\n");
} else if (delta < 0) {
printf("该方程无实数解\n");
} else if (delta == 0) {
x1 = x2 = -b / (2 * a);
printf("该方程有唯一解 x = %.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;
}
```
提示:题目要求使用分支嵌套,分支嵌套即在一个if或else语句中再嵌套一个if或else语句。在这个问题中,需要判断方程是否是一元二次方程,如果不是则直接输出结果;如果是,则需要继续判断方程的解的情况,因此可以使用分支嵌套实现。
编程求解一元二次方程ax^2 + bx + c = 0的根,要求a、b、c从键盘输入。 要求Main类中必须有如下方法:
为了编程求解一元二次方程ax^2 + bx + c = 0的根,我们需要在Main类中定义一个名为solveQuadraticEquation的方法,该方法接受三个double类型的参数a、b、c,分别代表方程的系数,返回一个长度为2的double类型数组,代表方程的两个根。具体实现如下:
double[] solveQuadraticEquation(double a, double b, double c) {
double[] roots = new double;
double disc = b * b - 4 * a * c;
if (disc < 0) {
System.out.println("方程无实根。");
} else {
roots = (-b + Math.sqrt(disc)) / (2 * a);
roots = (-b - Math.sqrt(disc)) / (2 * a);
}
return roots;
}
在该方法中,我们首先定义一个长度为2的double类型数组roots,用于存储方程的两个根。然后,我们计算方程的判别式disc,如果disc小于0,则输出“方程无实根。”的提示信息;否则,我们分别计算方程的两个根,并将它们存储到roots数组中。最后,我们返回roots数组。
阅读全文