| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 80356 | sh25_huangse | 数字反转 | C++ | 通过 | 0 MS | 256 KB | 856 | 2026-01-04 15:14:01 |
#include <iostream> using namespace std; int main() { int N; cin >> N; // 处理符号:记录符号,并对绝对值操作 bool isNegative = (N < 0); long long n = N; // 使用long long防止反转过程中溢出(虽然N范围在int内,但反转后可能超出) if (isNegative) { n = -n; // 转为正数处理 } // 反转数字 long long reversed = 0; while (n > 0) { int digit = n % 10; // 取出个位数 reversed = reversed * 10 + digit; // 构建反转数 n /= 10; // 去掉个位 } // 如果是负数,加上负号 if (isNegative) { reversed = -reversed; } // 注意:如果原数是0,循环不会执行,reversed保持为0,输出0 cout << reversed << endl; return 0; }