2. C++求两组整数的异或集
作者:互联网
- 求两组整数的异或集
【问题描述】
从标准输入中输入两组整数(每行不超过20个整数,每组整数中元素不重复),合并两组整数,去掉在两组整数中都出现的整数,并按从大到小顺序排序输出(即两组整数集"异或")。
【输入形式】
首先输入第一组整数,以一个空格分隔各个整数;然后在新的一行上输入第二组整数,以一个空格分隔,行末有回车换行。
【输出形式】
按从大到小顺序排序输出合并后的整数集(去掉在两组整数中都出现的整数,以一个空格分隔各个整数)。
【样例输入】
5 1 4 32 8 7 9 -6
5 2 87 10 1
【样例输出】
87 32 10 9 8 7 4 2 -6
【样例说明】
第一组整数为5 1 4 32 8 7 9 -6,第二组整数分别为5 2 87 10 1。将第一组和第二组整数合并(去掉在两组整数中都出现的整数5和1),并从大到小顺序排序后结果为87 32 10 9 8 7 4 2 -6。
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[100];int i=0;
memset(a,10000,99);
while(cin>>a[i++]);
if(a[i-1]==0)i--;
sort(a,a+i);
while(i--){
if(i>0&&(a[i]==a[i+1]||a[i]==a[i-1]))
continue;
else if(i==0&&a[i]==a[i+1])
continue;
cout<<a[i]<<" ";
}
}
标签:10,32,两组,整数,异或,C++,87,输入 来源: https://blog.csdn.net/qjsssss/article/details/110500237