求方程: ax2+bx+c= 0的根,用3个函数分别求出当: b2 - 4ac>0,b2 - 4ac=0,b2 - 4ac <0时的根并输出结果。从主函数中输出a, b, c的值。
时间: 2023-10-06 07:08:51 浏览: 194
好的,我了解了。
对于方程ax^2 + bx + c = 0,当b^2 - 4ac > 0时,有两个不相等的实根:
float root1 = (-b + sqrt(b*b - 4*a*c)) / (2*a);
float root2 = (-b - sqrt(b*b - 4*a*c)) / (2*a);
当b^2 - 4ac = 0时,有一个重根:
float root = -b / (2*a);
当b^2 - 4ac < 0时,有两个虚根:
float realPart = -b / (2*a);
float imaginaryPart = sqrt(-(b*b - 4*a*c)) / (2*a);
请注意,在代码中输入的a, b, c值应该是从主函数中获得的。
希望这能回答您的问题!
相关问题
用python编程:求方程ax+bx+c=0的根,用3个函数分别求当b2-4ac大于0、等于0和小于0时的根并输出结果。从主程序输入a,b,c的值
以下是用 Python 编写的程序,求解方程 $ax+bx+c=0$ 的根:
```python
import math
def solve_positive(a, b, c):
"""当 b^2 - 4ac > 0 时,求解方程的根"""
delta = b * b - 4 * a * c
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
return x1, x2
def solve_zero(a, b, c):
"""当 b^2 - 4ac = 0 时,求解方程的根"""
x = -b / (2 * a)
return x
def solve_negative(a, b, c):
"""当 b^2 - 4ac < 0 时,求解方程的根"""
real_part = -b / (2 * a)
imag_part = math.sqrt(abs(b * b - 4 * a * c)) / (2 * a)
x1 = complex(real_part, imag_part)
x2 = complex(real_part, -imag_part)
return x1, x2
if __name__ == '__main__':
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
delta = b * b - 4 * a * c
if delta > 0:
x1, x2 = solve_positive(a, b, c)
print("方程的两个实根分别为:x1={:.2f}, x2={:.2f}".format(x1, x2))
elif delta == 0:
x = solve_zero(a, b, c)
print("方程有一个实根:x={:.2f}".format(x))
else:
x1, x2 = solve_negative(a, b, c)
print("方程的两个虚根分别为:x1={}, x2={}".format(x1, x2))
```
程序中,`solve_positive` 函数用于求解当 $b^2 - 4ac > 0$ 时方程的根,`solve_zero` 函数用于求解当 $b^2 - 4ac = 0$ 时方程的根,`solve_negative` 函数用于求解当 $b^2 - 4ac < 0$ 时方程的根。在主程序中,根据 $b^2 - 4ac$ 的值调用对应的函数,并输出结果。
:1.求解一元二次方程的根:ax2+bx+c=0,设:b2-4ac>=0编写程序,输入a,b,c,计算并输出x1,x2。用c语言
在C语言中,你可以使用数学公式来求解一元二次方程 ax^2 + bx + c = 0 的两个实数根 x1 和 x2,当判别式 b^2 - 4ac >= 0 时,这些根存在。这里是一个简单的C程序示例:
```c
#include <stdio.h>
#include <math.h> // 引入数学库,用于sqrt函数
void solve_quadratic_equation(double a, double b, double c) {
double discriminant = b * b - 4 * a * c; // 判别式的计算
if (discriminant >= 0) { // 如果判别式非负
double sqrt_val = sqrt(discriminant); // 计算根的平方值
double root1 = (-b + sqrt_val) / (2 * a); // 根1
double root2 = (-b - sqrt_val) / (2 * a); // 根2
printf("Roots are: %.2lf and %.2lf\n", root1, root2);
} else {
printf("The equation has no real roots.\n");
}
}
int main() {
double a, b, c;
printf("Enter coefficients 'a', 'b', and 'c': ");
scanf("%lf %lf %lf", &a, &b, &c);
solve_quadratic_equation(a, b, c);
return 0;
}
```
当你运行这个程序时,它会提示你输入三个系数,然后计算并打印出相应的一元二次方程的根。
阅读全文