在已知一组整数中,有这样一种数非常怪,它们不在第一个,也不在最后一个,而且刚好都比左边和右边相邻的数大,你能找到它们吗?c++,iostream
时间: 2024-04-09 10:27:45 浏览: 82
当然可以找到这样的数。以下是一个简单的C++代码示例,可以找到满足条件的数:
```cpp
#include <iostream>
#include <vector>
std::vector<int> findStrangeNumbers(const std::vector<int>& numbers) {
std::vector<int> strangeNumbers;
// 从下标为1开始,到倒数第二个数结束
for (int i = 1; i < numbers.size() - 1; i++) {
if (numbers[i] > numbers[i-1] && numbers[i] > numbers[i+1]) {
strangeNumbers.push_back(numbers[i]);
}
}
return strangeNumbers;
}
int main() {
std::vector<int> numbers = {1, 3, 5, 2, 6, 4, 8, 7};
std::vector<int> strangeNumbers = findStrangeNumbers(numbers);
for (int num : strangeNumbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
在上述代码中,`findStrangeNumbers`函数接受一个整数数组作为输入,并返回满足条件的奇怪数字的向量。在`main`函数中,我们使用示例数组`{1, 3, 5, 2, 6, 4, 8, 7}`进行测试,并输出结果。在这个例子中,满足条件的奇怪数字是5和6。
希望这个示例对你有帮助!如果还有其他问题,请随时提问。
阅读全文