#include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int digits[3]; digits[0] = n / 100; digits[1] = (n / 10) % 10; digits[2] = n % 10; // 对三个数字进行排序 sort(digits, digits + 3); // 处理首位为 0 的情况 if (digits[0] == 0) { // 找到第一个非 0 数字并与首位交换 for (int i = 1; i < 3; i++) { if (digits[i] != 0) { swap(digits[0], digits[i]); break; } } } // 组成最小的三位数 int result = digits[0] * 100 + digits[1] * 10 + digits[2]; cout << result << endl; return 0; } /************************************************************** Problem: 1243 User: linmiaoling Language: C++ Result: Accepted Time:10 ms Memory:2076 kb ****************************************************************/