用C语言swich函数写,求一元二次方程az’+e+c=0的根,通过键盘输入a、b、c,根据入的值输出对应x1和x2的值(保留一位小数)
时间: 2023-05-30 13:06:07 浏览: 117
```c
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, delta, x1, x2;
printf("请输入a、b、c的值:\n");
scanf("%f%f%f", &a, &b, &c);
delta = b * b - 4 * a * c;
switch (delta > 0) {
case 1:
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程的两个实根为:x1=%.1f,x2=%.1f\n", x1, x2);
break;
case 0:
switch (delta == 0) {
case 1:
x1 = -b / (2 * a);
printf("方程有一个实根:x1=%.1f\n", x1);
break;
case 0:
printf("方程没有实根!\n");
break;
}
break;
}
return 0;
}
```
注:由于一元二次方程的根可能有两个、一个或者没有,因此这里使用了嵌套的switch语句来处理不同的情况。
阅读全文