找出10个数中,任意位是5的数,个位或十位或百位…,用c++写出来
时间: 2024-11-20 15:41:38 浏览: 4
在C++中,你可以使用循环和条件判断来找出给定数组中的所有数字,其任意位上有数字5。这里是一个简单的示例代码:
```cpp
#include <iostream>
#include <vector>
std::vector<int> findNumbersWithFive(const std::vector<int>& numbers) {
std::vector<int> result;
for (int num : numbers) {
bool hasFive = false;
// 检查每个位是否包含5
if (num / 10 % 10 == 5 || num % 10 == 5) { // 个位
hasFive = true;
}
if (num / 100 % 10 == 5 && num / 10 % 10 != 0) { // 十位
hasFive = true;
}
if (num / 1000 % 10 == 5 && num / 100 % 10 != 0 && num / 10 % 10 != 0) { // 百位
hasFive = true;
}
// 如果数字任一位置有5,则添加到结果中
if (hasFive)
result.push_back(num);
}
return result;
}
int main() {
std::vector<int> numbers = {125, 478, 965, 230, 555, 702, 1050};
std::vector<int> fiveDigits = findNumbersWithFive(numbers);
std::cout << "Numbers with a 5 in any position are: ";
for (int num : fiveDigits)
std::cout << num << " ";
std::cout << "\n";
return 0;
}
```
这段代码首先定义了一个函数`findNumbersWithFive`,它接受一个整数向量作为输入,然后遍历这个向量,检查每个数字的每一位是否包含5。如果找到符合条件的数字,就将其加入结果向量。最后,在主函数中测试这个功能,并打印出结果。
阅读全文