c语言一元二次方程一般可表示为 a x ² + b x + c = 0 ( a ≠ 0 ) ,其中 a , b , c 为系数,当 Δ = b 2 − 4 a c 小于0时方程无实根,等于0时只有一个实根,大于0时包含两个实根,编写一个程序判断一个一元二次方程根个数
时间: 2024-10-20 21:15:07 浏览: 15
在C语言中,你可以使用数学库函数`sqrt()`来计算平方根,并通过比较判别式Δ来确定一元二次方程ax² + bx + c = 0的解的情况。以下是简单的步骤:
1. 定义变量a、b和c作为输入的方程系数。
2. 计算判别式Δ = b² - 4ac。
3. 使用条件语句(如if-else或switch-case)检查判别式的值:
- 如果Δ < 0,方程无实根。
- 如果Δ == 0,方程有一个实根。
- 如果Δ > 0,方程有两个实根。
下面是一个简单的示例程序结构:
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, discriminant;
// 输入方程系数
printf("请输入一元二次方程的系数 a, b 和 c:\n");
scanf("%lf %lf %lf", &a, &b, &c);
// 计算判别式
discriminant = b * b - 4 * a * c;
// 判断根的情况并输出结果
switch (discriminant) {
case (double)(-INFINITY):
printf("方程无实根。\n");
break;
case 0:
printf("方程有一个实根:%.2lf\n", (-b) / (2 * a));
break;
default:
printf("方程有两个实根:%.2lf 和 %.2lf\n", (-b + sqrt(discriminant)) / (2 * a), (-b - sqrt(discriminant)) / (2 * a));
break;
}
return 0;
}
```
阅读全文