编程求出10,000以内的所有符合如下条件的数,其高位数字小于低位数字如12 ,238,3578,但21,548不符合条件
时间: 2024-11-13 16:41:06 浏览: 12
要编写一个程序找出10,000以内的所有数字,其中高位数字(从左到右)都小于低位数字,你可以使用C++循环结构和条件判断。以下是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
std::vector<int> find_numbers(int limit) {
std::vector<int> result;
for (int num = 1; num <= limit; ++num) {
// 将数字转换为字符串以便比较
std::string str_num = std::to_string(num);
// 遍历每一位
bool isValid = true;
for (size_t i = 1; i < str_num.size(); ++i) {
if (str_num[i] < str_num[i - 1]) {
isValid = false;
break;
}
}
// 如果符合条件,将其添加到结果列表中
if (isValid && num < 10000) {
result.push_back(num);
}
}
return result;
}
int main() {
int limit = 10000;
std::vector<int> numbers = find_numbers(limit);
for (const auto& number : numbers) {
std::cout << number << " ";
}
std::cout << "\n";
return 0;
}
```
这个程序首先创建了一个空的结果`vector`,然后遍历从1到`limit`(在这个例子中是10,000)的所有整数。对于每个数,它将其转换为字符串并检查每一位是否满足高位小于低位的条件。如果满足条件,就将该数加入结果列表。
运行这段代码后,它将输出10,000以内所有的高位数字小于低位数字的数。
阅读全文