C语言 判断方程ax^2+bx+c=0 的根的个数
时间: 2024-10-21 11:10:46 浏览: 77
在C语言中,判断一元二次方程`ax^2 + bx + c = 0`的根的个数通常需要应用到二次公式。一个方程有两个相等实根的情况称为“重根”,无实根则有复数解。以下是简单步骤:
1. 首先,计算判别式`D = b^2 - 4ac`,它决定了根的性质:
- 当`D > 0`时,有两个不同的实根。
- 当`D = 0`时,有一个重根(即两个相同的实根)。
- 当`D < 0`时,有两个共轭复数根。
2. 然后,根据判别式的值编写条件语句来进行判断:
```c
#include <stdio.h>
#include <math.h>
void quadraticRoots(float a, float b, float c) {
float discriminant = b * b - 4 * a * c;
if (discriminant > 0) {
printf("方程有两个不同的实根.\n");
} else if (discriminant == 0) {
printf("方程有一个重根(两个相同的实根).\n");
} else {
printf("方程有两个共轭复数根.\n");
}
}
int main() {
float a, b, c;
printf("请输入一元二次方程的系数 a, b, c:\n");
scanf("%f %f %f", &a, &b, &c);
quadraticRoots(a, b, c);
return 0;
}
```
当你运行这个程序时,会询问用户输入方程的系数,然后根据这些系数确定根的数量并相应地打印消息。
阅读全文
相关推荐


















