酷代码 AI
菜单
服务商

C++实现1000位内高精度数减法:含using namespace std;无注释代码

```cpp #include <iostream> #include <string> #include <algorithm> using namespace std; bool isGreater(const string& a, const string& b) { if (a.length() != b.length()) { return a.length() > b.length(); } return a > b; } string subtract(string a, string b) { if (a == b) { return "0"; } bool negative = false; if (!isGreater(a, b)) { swap(a, b); negative = true; } string result; int carry = 0; int i = a.length() - 1, j = b.length() - 1; while (i >= 0 || j >= 0) { int x = (i >= 0) ? a[i] - '0' : 0; int y = (j >= 0) ? b[j] - '0' : 0; int diff = x - y - carry; if (diff < 0) { diff += 10; carry = 1; } else { carry = 0; } result.push_back(diff + '0'); i--; j--; } while (result.length() > 1 && result.back() == '0') { result.pop_back(); } if (negative) { result.push_back('-'); } reverse(result.begin(), result.end()); return result; } int main() { string num1, num2; cin >> num1 >> num2; string result = subtract(num1, num2); cout << result << endl; return 0; } ``` ######[AI问答 | 418点数解答 | 2025-09-15 20:30:23]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]