如何定义一个函数求一元二次方程的根
时间: 2023-10-11 17:12:16 浏览: 44
可以使用公式 x = (-b ± √(b²-4ac)) / 2a 来求解一元二次方程的根,其中 a、b、c 分别为一元二次方程的系数。写成函数形式就是:def quadratic_eq(a, b, c): x1 = (-b + (b ** 2 - 4 * a * c) ** 0.5) / (2 * a) x2 = (-b - (b ** 2 - 4 * a * c) ** 0.5) / (2 * a) return x1, x2
相关问题
c语言中使用函数求一元二次方程根
以下是使用函数求解一元二次方程根的C语言代码,其中包括了三个函数分别用于计算当b^2-4ac大于0、等于0、和小于0时的根,并在主函数中进行了有效性检测和菜单的实现:
```c
#include <stdio.h>
#include <math.h>
// 计算当b^2-4ac大于0时的根
void greater_than_zero(float a, float b, float c) {
float x1, x2;
x1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a);
x2 = (-b - sqrt(b * b - 4 * a * c)) / (2 * a);
printf("x1 = %.2f, x2 = %.2f\n", x1, x2);
}
// 计算当b^2-4ac等于0时的根
void equal_to_zero(float a, float b, float c) {
float x;
x = -b / (2 * a);
printf("x = %.2f\n", x);
}
// 计算当b^2-4ac小于0时的根
void less_than_zero(float a, float b, float c) {
float realPart, imagPart;
realPart = -b / (2 * a);
imagPart = sqrt(-b * b + 4 * a * c) / (2 * a);
printf("x1 = %.2f + %.2fi, x2 = %.2f - %.2fi\n", realPart, imagPart, realPart, imagPart);
}
int main() {
float a, b, c;
int choice;
do {
printf("请输入一元二次方程的三个系数a、b、c:\n");
scanf("%f%f%f", &a, &b, &c);
if (b * b - 4 * a * c > 0) {
greater_than_zero(a, b, c);
} else if (b * b - 4 * a * c == 0) {
equal_to_zero(a, b, c);
} else {
less_than_zero(a, b, c);
}
printf("是否继续?(1表示继续,0表示退出)\n");
scanf("%d", &choice);
} while (choice == 1);
return 0;
}
```
用python定义一个函数计算一元二次方程的根
好的,这是一个用Python定义函数计算一元二次方程根的示例代码:
```python
import cmath
def quadratic_equation(a,b,c):
delta = b**2 - 4*a*c
sqrt_delta = cmath.sqrt(delta)
x1 = (-b + sqrt_delta) / (2*a)
x2 = (-b - sqrt_delta) / (2*a)
return x1, x2
```
其中,a、b、c 分别为一元二次方程的系数。`delta` 表示判别式,`sqrt_delta` 表示判别式的平方根,`x1`、`x2` 分别为方程的两个根。注意,在 a 和 b 都为 0 的情况下,该方程没有意义,应该进行异常处理。
希望这个例子能够帮助你!如果你有任何问题,可以继续问我。