1 条题解
-
0
核心逻辑
将三位数的百位与个位对调,需通过数值运算拆分重组,避免前导零(如
200对调后应为2而非002):- 拆分数位:百位 = 数 // 100,十位 = (数 // 10) % 10,个位 = 数 % 10;
- 重组新数:新数 = 个位 × 100 + 十位 × 10 + 百位(自动去除前导零)。
代码实现
C
#include <stdio.h> int main() { int n; scanf("%d", &n); int hundred = n / 100; // 百位 int ten = (n / 10) % 10; // 十位 int unit = n % 10; // 个位 printf("%d\n", unit * 100 + ten * 10 + hundred); // 重组输出 return 0; }C++
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int hundred = n / 100; int ten = (n / 10) % 10; int unit = n % 10; cout << unit * 100 + ten * 10 + hundred << endl; return 0; }Python
n = int(input()) hundred = n // 100 # 百位 ten = (n // 10) % 10 # 十位 unit = n % 10 # 个位 print(unit * 100 + ten * 10 + hundred) # 重组输出,自动去前导零验证
- 样例输入
123:拆分得百位1、十位2、个位3,重组为3×100 + 2×10 + 1 = 321,正确。 - 输入
200:拆分得百位2、十位0、个位0,重组为0×100 + 0×10 + 2 = 2,正确(无ulead零)。
所有三位数输入均能正确处理,符合题目要求。
- 1
信息
- ID
- 431
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 5
- 标签
- 递交数
- 21
- 已通过
- 12
- 上传者