C语言实现:精准求解一元二次方程根并处理特殊输出情况
要解决这个问题,我们需要使用C语言编写一个程序来计算一元二次方程 \( ax^2 + bx + c = 0 \) 的根,并根据不同的情况输出相应的结果。以下是一个完整的C语言程序实现: ```c #include <stdio.h> #include <math.h> int main() { double a, b, c; double delta, root1, root2, realPart, imaginaryPart; // 读取输入 scanf("%lf %lf %lf", &a, &b, &c); // 特殊情况处理 if (a == 0 && b == 0 && c == 0) { printf("zero equation\n"); return 0; } if (a == 0 && b == 0) { printf("not an equation\n"); return 0; } // 计算判别式 delta = b * b - 4 * a * c; // 根据判别式的值判断根的情况 if (delta > 0) { // 两个不相等的实数根 root1 = (-b + sqrt(delta)) / (2 * a); root2 = (-b - sqrt(delta)) / (2 * a); // 输出时先大后小 if (root1 > root2) { printf("%.2f\n%.2f\n", root1, root2); } else { printf("%.2f\n%.2f\n", root2, root1); } } else if (delta == 0) { // 一个实数根 root1 = -b / (2 * a); printf("%.2f\n", root1); } else { // 两个不相等的复数根 realPart = -b / (2 * a); imaginaryPart = sqrt(-delta) / (2 * a); printf("%.2f+%.2fi\n%.2f-%.2fi\n", realPart, imaginaryPart, realPart, imaginaryPart); } return 0; } ``` 代码解释 1. 输入读取: - 使用 `scanf` 函数读取三个浮点数 `a`, `b`, `c`。 2. 特殊情况处理: - 如果 `a`, `b`, `c` 都为0,输出 "zero equation"。 - 如果 `a` 和 `b` 都为0,但 `c` 不为0,输出 "not an equation"。 3. 计算判别式: - 计算判别式 `delta = b * b - 4 * a * c`。 4. 根的判断与输出: - 如果 `delta > 0`,表示有两个不相等的实数根,计算并输出这两个根,先输出较大的根。 - 如果 `delta == 0`,表示有一个实数根,计算并输出这个根。 - 如果 `delta < 0`,表示有两个不相等的复数根,计算并输出这两个根,先输出虚部为正的根。 5. 输出格式: - 使用 `%.2f` 格式化输出,保留两位小数。 通过以上步骤,我们可以正确地处理各种情况并输出正确的结果。 ######[AI写代码神器 | 725点数解答 | 2024-10-27 23:34:19]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)380
- Java 实现计算所需最少钱币张数和个数(字节豆包 | 590点数解答 | 2026-03-05 21:44:59)28
- 数字化制图综合平台:助力企业转型,推动烟草物流图纸智能化设计 (字节豆包 | 490点数解答 | 2024-10-30 20:30:29)159
- 数字化制图综合平台:引领烟草物流及多领域设计革新 在企业数字化转型的时代浪潮中,数字化制图技术创新应用成为产业升级与提升竞争力的关键。企业对高效、精准、智能化设计解决方案需求迫切,构建集二维到三维正逆向工程快捷化、干涉检测可视化、设备明细数据提取自动化以及设备模块模型库于一体的综合平台意义重大。 此平台集成先进数字化制图工具与智能算法,可实现二维设计到三维建模的无缝转换,大大缩短设计周期。正逆向工程能快速切换,满足不同场景设计需求。内置干涉检测功能可实时监测设计潜在冲突,保障设计方案可行与安全。设备明细数据自动提取提高设计准确性与效率。设备模块模型库为设计师提供丰富资源,支持设计标准化与模块化,加速项目推进。 整体来看,该综合平台的应用极大促进了烟草物流行业及更广泛领域的技术创新与效率提升。在烟草物流方案图纸智能化设计中,它提升了图纸设计效率与质量,使设计工作更加高效、精准。对于企业而言,这一平台带来显著竞争优势,能帮助企业在数字化转型中脱颖而出,在激烈的市场竞争中占据有利地位,推动整个行业向更高效、更智能的方向发展。 (阿里通义 | 216点数解答 | 2024-10-30 20:30:51)190
- C++实现矩阵类:重载运算符+与=,含构造、析构及异常处理(字节豆包 | 671点数解答 | 2025-06-23 15:25:09)241
- C++ 实现矩阵类:重载运算符加与赋值,含构造、析构及错误处理(字节豆包 | 993点数解答 | 2025-06-23 15:27:43)172
- CentOS下Java进程出现futex_wait_queue_me问题的处理全流程(阿里通义 | 283点数解答 | 2023-11-20 14:51:26)486
- 替雷利珠单抗致免疫相关性糖尿病:病例报道与机制探讨,为临床用药敲响警钟( | 164点数解答 | 2024-10-11 14:52:52)289
- Python 代码转 C++:计算花朵鲜艳值总和(字节豆包 | 408点数解答 | 2026-04-19 21:50:57)19
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)350
- C++程序:依据感应器数字输出能量痕迹与小队距离范围(DeepSeek | 88点数解答 | 2025-12-21 16:10:13)69
- C++实现喵际数独锦标赛自动评判系统:快速验证数独解答正确性(字节豆包 | 666点数解答 | 2025-05-16 16:46:31)182