C++类实现一元二次方程多种解情况判断及求解,附特殊情况处理与精度控制
```cpp #include <iostream> #include <cmath> using namespace std; class Equation { private: int _a, _b, _c; public: Equation(int a, int b, int c) : _a(a), _b(b), _c(c) {} void solve() { double discriminant = _b * _b - 4 * _a * _c; if (_a == 0) { if (_b == 0) { if (_c == 0) { cout << "5" << endl; } else { cout << "4" << endl; } } else { double root = -_c / _b; cout << "6" << endl << fixed << setprecision(2) << root << endl; } } else { if (discriminant > 0) { double root1 = (-_b + sqrt(discriminant)) / (2 * _a); double root2 = (-_b - sqrt(discriminant)) / (2 * _a); cout << "1" << endl << fixed << setprecision(2) << min(root1, root2) << endl << fixed << setprecision(2) << max(root1, root2) << endl; } else if (discriminant == 0) { double root = -_b / (2 * _a); cout << "2" << endl << fixed << setprecision(2) << root << endl; } else { cout << "3" << endl; } } } }; int main() { int a, b, c; cin >> a >> b >> c; Equation tmp(a, b, c); tmp.solve(); } ``` 额外需要注意的逻辑点: 1. 对于浮点数的输出格式控制,确保精度符合要求。 2. 处理特殊情况,如系数为 0 时的各种可能性。 3. 对输入的系数范围进行有效的校验。 ######[AI写代码神器 | 481点数解答 | 2025-03-07 12:49:26]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- Java 实现计算所需最少钱币张数和个数(字节豆包 | 590点数解答 | 2026-03-05 21:44:59)18
- CentOS下Java进程出现futex_wait_queue_me问题的处理全流程(阿里通义 | 283点数解答 | 2023-11-20 14:51:26)459
- 替雷利珠单抗致免疫相关性糖尿病:病例报道与机制探讨,为临床用药敲响警钟( | 164点数解答 | 2024-10-11 14:52:52)264
- C++实现矩阵类:重载运算符+与=,含构造、析构及异常处理(字节豆包 | 671点数解答 | 2025-06-23 15:25:09)226
- C++ 实现矩阵类:重载运算符加与赋值,含构造、析构及错误处理(字节豆包 | 993点数解答 | 2025-06-23 15:27:43)158
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)310
- C51 编程:外部中断 0 边沿触发控制 P2 口 8 个 LED 依次点亮(字节豆包 | 41点数解答 | 2025-06-22 11:25:54)150
- 8051 单片机:用外部中断 0 边沿触发实现 P2 口 8 个 LED 依次点亮(附代码与详解) (字节豆包 | 538点数解答 | 2025-06-22 11:26:15)126
- C51实现外部中断0边沿触发,让P2口8个LED依次点亮的程序详解(DeepSeek | 400点数解答 | 2025-06-22 21:21:28)107
- C51 程序:利用外部中断 0 边沿触发实现 P2 口 8 个 LED 依次点亮及代码分析(DeepSeek | 228点数解答 | 2025-06-22 23:18:42)159
- JS 代码:判断“red”改值为“green”并弹窗显示结果( | 176点数解答 | 2024-05-20 21:33:04)411