由键盘上输入1个三位正整数n。魔镜把三个数字的排列次序打乱重新组合一个新的三位正整数,使其值最小。请你帮助魔镜输出该值。 输入 输入一个正整数n,且100 <= n <= 999。 输出 按照题目要求输出。
时间: 2024-10-12 11:06:43 浏览: 8
这是一个编程问题,通常要用到排序算法来解决。我们可以先将输入的三位数拆分成三个字符,然后对这三个字符进行排序,得到最小的新数。以下是使用C++的一个解决方案:
```cpp
#include <iostream>
#include <algorithm>
int main() {
int n;
std::cin >> n;
// 将输入的三位数转换为字符串并提取每个数字
std::string num_str = std::to_string(n);
char digits[3] = {num_str[0], num_str[1], num_str[2]};
// 对数字进行升序排列
std::sort(digits, digits + 3);
// 重新组合成新的最小数
int min_num = static_cast<int>(digits[0]) * 100 + static_cast<int>(digits[1]) * 10 + static_cast<int>(digits[2]);
std::cout << "The smallest number formed by rearranging the digits of " << n << " is: " << min_num << std::endl;
return 0;
}
```
这个程序会读取一个三位数,将其拆分为字符数组,然后使用`std::sort`对字符进行排序,最后组合成新的最小数并输出结果。