C++从标准输入中输入两组整数(每组不超过20个整数,每组整数中元素不重复),合并两组整数,重复的整数只出现一次,并按从大到小顺序排序输出(即两组整数集的并集)。 【输入形式】 首先输入第一组整数的个数,然
时间: 2024-06-13 10:05:48 浏览: 115
从标准输入中输入两组整数(每行不超过20个整数,每组整数中元素不重复),合并两组整数,去掉在两组整数中都出现的整数,并按从大到小顺序排序输出(即两组整数集"异或
以下是C++代码实现:
```c++
#include <iostream>
#include <set>
#include <algorithm>
using namespace std;
int main() {
int n, m;
cin >> n;
set<int> s1;
for (int i = 0; i < n; i++) {
int x;
cin >> x;
s1.insert(x);
}
cin >> m;
set<int> s2;
for (int i = 0; i < m; i++) {
int x;
cin >> x;
s2.insert(x);
}
set<int> s3;
set_intersection(s1.begin(), s1.end(), s2.begin(), s2.end(), inserter(s3, s3.begin()));
for (auto it = s3.rbegin(); it != s3.rend(); it++) {
cout << *it << " ";
}
for (auto x : s1) {
if (s3.count(x) == 0) {
cout << x << " ";
}
}
for (auto x : s2) {
if (s3.count(x) == 0) {
cout << x << " ";
}
}
return 0;
}
```
阅读全文