酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

c语言求方程ax平方+bx+c 的根,将判别式δ写为delta函数,并根据其结果求一元二次方程的根。

以下是用 C 语言实现求方程 `ax^2 + bx + c = 0` 的根的代码: ```c #include <stdio.h> #include <math.h> // 计算判别式 double delta(double a, double b, double c) { return b * b - 4 * a * c; // 判别式公式 } // 求解方程的根 void solveQuadratic(double a, double b, double c) { double d = delta(a, b, c); // 调用判别式函数计算判别式 if (d > 0) { // 有两个不同的实数根 double root1 = (-b + sqrt(d)) / (2 * a); double root2 = (-b - sqrt(d)) / (2 * a); printf("方程有两个不同的实数根:%.2f 和 %.2f\n", root1, root2); } else if (d == 0) { // 有一个实数根 double root = -b / (2 * a); printf("方程有一个实数根:%.2f\n", root); } else { // 没有实数根 printf("方程没有实数根\n"); } } int main() { double a, b, c; printf("请输入 a 的值:"); scanf("%lf", &a); printf("请输入 b 的值:"); scanf("%lf", &b); printf("请输入 c 的值:"); scanf("%lf", &c); solveQuadratic(a, b, c); return 0; } ``` 额外需要注意的逻辑点: 1. 输入的系数 `a` 不能为 0,否则不是二次方程。 2. 要考虑数值精度问题,可能会出现很小的误差。 3. 对于输出的根,要根据实际情况进行适当的格式控制,比如保留一定的小数位数。 [2024-12-11 20:19:05 | AI写代码神器 | 452点数解答]

相关提问