编写一个C语言程序,输入系数 a , b , c ,求一元二次方程ax2+ bx + c =0的根,包括主函数和如下子函数。 ①判断 a 是否为零。②计算判别式b平方-4ac。 ③计算根的情况。 ④输出根。
时间: 2024-03-23 18:40:08 浏览: 128
好的,下面是代码:
```c
#include <stdio.h>
#include <math.h>
void quadratic_equation(float a, float b, float c);
int main() {
float a, b, c;
printf("请输入一元二次方程的系数 a, b, c:");
scanf("%f %f %f", &a, &b, &c);
quadratic_equation(a, b, c);
return 0;
}
void quadratic_equation(float a, float b, float c) {
float delta, x1, x2;
if (a == 0) {
printf("这不是一元二次方程!");
return;
}
delta = b * b - 4 * a * c;
if (delta < 0) {
printf("无实数解!");
return;
} else if (delta == 0) {
x1 = -b / (2 * a);
printf("唯一实数解为:%f", x1);
} else {
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("两个实数解分别为:%f 和 %f", x1, x2);
}
}
```
使用方法:将上述代码保存为一个 .c 文件,并使用 C 语言编译器编译运行。运行时需要输入三个系数 a, b, c,程序会输出一元二次方程的解。
阅读全文