在已知一组整数中有这样一种数非常怪它们不在第一个也不在最后一个而且刚好都比左边和右边相邻的数大你能找到它们吗?请用c++语言编写以上程序
以下是使用C++编写的程序来找到这样一组整数:
#include <iostream>
#include <vector>
std::vector<int> findSpecialNumbers(const std::vector<int>& numbers) {
std::vector<int> specialNumbers;
for (int i = 1; i < numbers.size() - 1; i++) {
if (numbers[i] > numbers[i - 1] && numbers[i] > numbers[i + 1]) {
specialNumbers.push_back(numbers[i]);
}
}
return specialNumbers;
}
int main() {
std::vector<int> numbers = {2, 3, 1, 5, 4, 7, 6};
std::vector<int> specialNumbers = findSpecialNumbers(numbers);
std::cout << "Special numbers: ";
for (int number : specialNumbers) {
std::cout << number << " ";
}
std::cout << std::endl;
return 0;
}
在上述程序中,findSpecialNumbers函数接受一个整数向量作为参数,并返回一个包含满足条件的特殊数的向量。在main函数中,我们定义了一个测试用例numbers,并调用findSpecialNumbers函数来找到特殊数。最后,我们输出找到的特殊数。
在给定的测试用例中,特殊数是3和7。因为它们都比相邻的数大,且不位于第一个和最后一个位置。因此,程序的输出将是:Special numbers: 3
原文地址: https://www.cveoy.top/t/topic/hXFV 著作权归作者所有。请勿转载和采集!