任意输入一个4位数,调用函数输出该自然数的各位数字组成的最大数。 用c++编写
时间: 2024-12-28 14:41:35 浏览: 10
你可以使用C++编写一个函数来实现这个功能,这里是一个简单的例子:
```cpp
#include <iostream>
#include <string>
std::string maxNumberFromDigits(int num) {
std::string digits;
std:: stringstream ss(std::to_string(num));
while (ss >> std::noskipws) {
digits += ss.peek();
ss.ignore();
}
int maxIndex = 0;
for (size_t i = 1; i < digits.size(); ++i) {
if (digits[i] > digits[maxIndex]) {
maxIndex = i;
}
}
// 从后向前拼接最大的数字
std::string result = "";
for (size_t i = digits.size() - 1; i >= 0; --i) {
if (i == maxIndex) {
result += digits[i];
} else {
result.insert(0, 1, digits[i]);
}
}
return result;
}
int main() {
int inputNum;
std::cout << "请输入一个四位数: ";
std::cin >> inputNum;
std::string maxDigitNum = maxNumberFromDigits(inputNum);
std::cout << "由数字组成的最大数是: " << maxDigitNum << std::endl;
return 0;
}
```
当你运行此程序并提供一个四位数时,它会将该数字拆分为单个数字,找到其中最大的一个放在最前面,然后拼接成一个新的字符串,表示组成的最大数。
阅读全文