要用C语言编程求解一元二次方程 \(ax^2 + bx + c = 0\),你需要遵循以下步骤:
引入头文件
`include
`include
计算判别式
判别式 \( \Delta = b^2 - 4ac \)。
根据判别式的值判断方程的根
如果 \( \Delta > 0 \),方程有两个不同的实数根。
如果 \( \Delta = 0 \),方程有一个实数根(重根)。
如果 \( \Delta < 0 \),方程没有实数根,有两个共轭复数根。
计算根
如果 \( \Delta \geq 0 \),使用公式 \( x_{1,2} = \frac{-b \pm \sqrt{\Delta}}{2a} \) 计算根。
输出结果
根据判别式的值,输出相应的根。
```c
include include int main() { double a, b, c, delta, x1, x2; // 输入方程的系数 printf("请输入一元二次方程的三个系数a, b, c: "); scanf("%lf %lf %lf", &a, &b, &c); // 计算判别式 delta = b * b - 4 * a * c; // 根据判别式的值判断方程的根并输出 if (delta > 0) { x1 = (-b + sqrt(delta)) / (2 * a); x2 = (-b - sqrt(delta)) / (2 * a); printf("该方程有两个解,x1 = %.2f, x2 = %.2f\n", x1, x2); } else if (delta == 0) { x1 = -b / (2 * a); x2 = x1; printf("该方程有一个唯一解,x1 = x2 = %.2f\n", x1); } else { printf("无实数解\n"); } return 0; } ``` 代码解释: 使用 `scanf` 函数从用户输入三个系数 \(a\)、\(b\) 和 \(c\)。 计算 \( \Delta = b^2 - 4ac \)。 如果 \( \Delta > 0 \),计算两个实数根 \( x1 \) 和 \( x2 \)。 如果 \( \Delta = 0 \),两个根相等,计算并输出重根。 如果 \( \Delta < 0 \),输出无实数解。 使用 `printf` 函数输出根的值,保留两位小数。 这个程序可以处理用户输入的任意一元二次方程,并输出其解。你可以根据需要修改和扩展这个程序。输入系数
计算判别式
判断根的情况
输出结果