编写程序实现如下功能:输入一元二次方程ax2+bx+c=0的系数a、b、c,求方程的根。要求:运行该程序时,输入a、b、c的值,分别使b2-4ac的值大于、等于和小于零,观察并分析运行结果。程序以文件名sy2_8.c保存
时间: 2024-10-15 22:29:36 浏览: 55
为了编写一个C语言程序来计算一元二次方程ax^2 + bx + c = 0的根,并处理三种情况(b² - 4ac > 0, b² - 4ac = 0, b² - 4ac < 0),你可以创建一个名为`sy2_8.c`的文件,内容如下:
```c
#include <stdio.h>
#include <math.h>
void quadratic_solver(double a, double b, double c) {
double discriminant = b * b - 4 * a * c;
if (discriminant > 0) {
double root1 = (-b + sqrt(discriminant)) / (2 * a);
double root2 = (-b - sqrt(discriminant)) / (2 * a);
printf("当b² - 4ac > 0时,两个实数根分别为: %.2lf 和 %.2lf\n", root1, root2);
} else if (discriminant == 0) {
double root = -b / (2 * a);
printf("当b² - 4ac = 0时,有一个实数根: %.2lf\n", root);
} else {
printf("当b² - 4ac < 0时,方程无实数根,有两个复数根。\n");
}
}
int main() {
double a, b, c;
printf("请输入a, b, c的值:\n");
scanf("%lf %lf %lf", &a, &b, &c);
quadratic_solver(a, b, c);
return 0;
}
```
在这个程序中,我们首先计算判别式`b² - 4ac`,然后根据其正负判断方程根的情况。用户通过键盘输入a、b、c的值,程序会输出相应的解。
阅读全文