C 语言实现:巧用 delta 函数求解一元二次方程 `ax² + bx + c = 0` 的根及注意要点
以下是用 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. 对于输出的根,要根据实际情况进行适当的格式控制,比如保留一定的小数位数。 ######[AI写代码神器 | 452点数解答 | 2024-12-11 20:19:05]
- Java实现:根据输入的三个浮点数求解一元二次方程根的判别与输出(字节豆包 | 329点数解答 | 2025-12-10 22:05:16)69
- MATLAB 代码:打造“正方形与闭合曲线识别”图形用户界面 (字节豆包 | 193点数解答 | 2024-11-13 19:58:57)231
- Matlab:打造正方形与闭合曲线识别图形界面,一键提交图片开启识别之旅!(GPT | 366点数解答 | 2024-11-13 19:59:10)252
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)380
- Python 绘图:可视化展示涨跌时的成交量(GPT | 104点数解答 | 2024-11-21 20:57:20)275
- Python代码:数学与地理计算函数的奇妙实现(字节豆包 | 30点数解答 | 2024-08-04 10:23:08)298
- C 语言实现链表操作:创建、输出、删除及插入功能详解(字节豆包 | 534点数解答 | 2024-12-09 21:33:48)364
- C语言实现链表创建、输出、删除与插入操作的完整代码及注意要点(字节豆包 | 609点数解答 | 2024-12-18 12:18:21)380
- 工程师必知:软件系统用户文档编写九大要点揭秘(百度文心 | 350点数解答 | 2023-11-09 18:23:53)215
- Java 实现计算所需最少钱币张数和个数(字节豆包 | 590点数解答 | 2026-03-05 21:44:59)28
- Python 代码:全面求解一元一次与一元二次方程(字节豆包 | 418点数解答 | 2024-11-05 22:55:20)167
- C语言实现:精准求解一元一次与一元二次方程(字节豆包 | 414点数解答 | 2024-11-05 22:56:28)184