c++编写代码请输入一个整数序列,利用 List 容器的 remove_if( )功能除去其中的奇数 后再重新输出。 输入说明:第一行是整数 N 表示整数个数(0<N<10000),第二行是这 N 个整数。 输出说明:按输入次序输出剩余整数。如果删除后序列为空,输出-1。
时间: 2024-10-20 18:17:56 浏览: 14
C++初学者之根据输入的任何一个正整数,输出可能被表示的连续正整数
5星 · 资源好评率100%
在C++中,你可以使用`std::vector`作为List容器,因为它是C++标准库提供的动态数组。以下是一个简单的程序,它读取输入的整数序列,移除所有奇数,然后输出剩余的偶数:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
int n;
std::cin >> n;
if (n == 0) { // 如果输入序列为空,则直接输出-1
std::cout << -1 << std::endl;
return 0;
}
std::vector<int> numbers(n);
for (int i = 0; i < n; ++i) {
std::cin >> numbers[i];
}
// 使用remove_if函数和lambda表达式,过滤掉奇数
numbers.erase(std::remove_if(numbers.begin(), numbers.end(), [](int num) { return num % 2 != 0; }), numbers.end());
// 检查是否还有元素
if (numbers.empty()) {
std::cout << -1 << std::endl;
} else {
// 输出剩余的偶数
for (const auto& num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
}
return 0;
}
```
当你运行这个程序时,需要先输入整数的数量,然后每行输入一个整数。程序会处理这些输入并按照描述输出结果。
阅读全文