输入三个浮点数ab.c 求方程ax2+bx+c=0的根,用3 个函数分别求当:b-4ac大于0、等于0和小于0时 的根并输出结果。从主函数输入 a,b,c 的值(递归)
时间: 2024-06-13 14:08:06 浏览: 9
```python
# 定义函数,求解一元二次方程的根
def quadratic_equation(a, b, c):
delta = b ** 2 - 4 * a * c
if delta > 0:
x1 = (-b + delta ** 0.5) / (2 * a)
x2 = (-b - delta ** 0.5) / (2 * a)
return x1, x2
elif delta == 0:
x = -b / (2 * a)
return x
else:
return "无实数解"
# 主函数
def main():
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
result = quadratic_equation(a, b, c)
print(result)
main()
```
相关问题
用c语言求ax+bx+c=0的根
可以通过以下代码使用C语言求解二次方程ax2+bx+c=0的根:
```c
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, delta, x1, x2;
printf("请输入二次方程ax^2 + bx + c = 0的系数a, b, c:\n");
scanf("%f %f %f", &a, &b, &c);
delta = b*b - 4*a*c;
if (delta > 0) {
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
printf("方程的两个实根分别为:x1 = %f, x2 = %f\n", x1, x2);
} else if (delta == 0) {
x1 = -b / (2*a);
printf("方程有唯一实根:x = %f\n", x1);
} else {
printf("方程无实根!\n");
}
return 0;
}
```
运行程序后,会提示输入二次方程的系数a, b, c,然后程序会根据输入的系数计算出方程的根并输出结果。需要注意的是,由于计算中可能会涉及到浮点数,因此结果可能会存在一定的误差。
c语言解方程ax2+bx+c=0 a≠0
以下是一种用C语言解二次方程的方法:
```
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, delta, x1, x2;
printf("Enter a, b, c: ");
scanf("%f %f %f", &a, &b, &c);
delta = b * b - 4 * a * c;
if (delta < 0) {
printf("The equation has no real roots.\n");
} else if (delta == 0) {
x1 = x2 = -b / (2 * a);
printf("The equation has one real root: %.2f\n", x1);
} else {
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("The equation has two real roots: %.2f and %.2f\n", x1, x2);
}
return 0;
}
```
在这个程序中,用户被要求输入三个浮点数a,b和c,分别代表二次方程的系数。然后,程序先计算delta,即判别式,根据delta的值判断方程的解的情况:
1. delta小于0,方程没有实数解。
2. delta等于0,方程有一个实数解,解为-x1=b/(2a)。
3. delta大于0,方程有两个实数解,解为x1=(-b+√delta)/(2a),x2=(-b-√delta)/(2a)。
最后输出方程的实数解。
请注意,如果你有特殊的要求或需要进一步验证,可能需要改进和修改上述程序。