用c程序编写出一元二次方程求根公式
时间: 2024-09-25 14:11:41 浏览: 55
在C语言中,可以使用数学库函数来计算一元二次方程的根。给定一元二次方程的一般形式 ax^2 + bx + c = 0,其中a、b和c是已知常数,其解可以用下面的公式求得:
```c
double discriminant(double b, double c) {
return b * b - 4 * a * c;
}
void quadratic_roots(double a, double b, double c) {
double discriminant_value = discriminant(b, c);
if (discriminant_value >= 0) {
double root1 = (-b + sqrt(discriminant_value)) / (2 * a);
double root2 = (-b - sqrt(discriminant_value)) / (2 * a);
printf("方程的两个实根是: %.2lf 和 %.2lf\n", root1, root2);
} else {
printf("方程无实根,有两个复根: %.2lf + i*%.2lf 和 %.2lf - i*%.2lf\n",
-b / (2 * a), sqrt(-discriminant_value) / (2 * a),
-b / (2 * a), -sqrt(-discriminant_value) / (2 * a));
}
}
```
在这个代码片段中,`discriminant`函数计算判别式,而`quadratic_roots`函数根据判别式的值判断方程是否有实根,并计算它们。注意这里我们假设用户输入了正确的系数a、b和c。
阅读全文