C语言用switch语句编写程序输入一元二次方ax2+bx+c=0的三个系数a、b、c,分情况计算并输出一元二次方程的根。
时间: 2024-10-22 15:30:24 浏览: 44
在C语言中,你可以使用`switch`语句结合条件判断来处理一元二次方程的情况。首先,你需要从用户那里获取a、b、c这三个系数的值,然后检查判别式`D = b * b - 4 * a * c`以确定方程有无实数解。下面是基本的代码结构:
```c
#include <stdio.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 0: // 当判别式为零,有两个相等的实数根
printf("方程有两个相等的实数根:x = %.2lf\n", -b / (2 * a));
break;
case positive: // 当判别式大于零,有两个不相等的实数根
printf("方程有两个不相等的实数根:x1 = %.2lf, x2 = %.2lf\n", (-b + sqrt(discriminant)) / (2 * a), (-b - sqrt(discriminant)) / (2 * a));
break;
case negative: // 当判别式小于零,方程无实数根,有两个复数根
printf("方程没有实数根,有两个共轭复数根。\n");
break;
default: // 如果输入错误或其他非预期情况
printf("输入无效,请检查系数是否正确。\n");
}
return 0;
}
```
阅读全文