给定两个整型数组,本题要求找出不是两者共有的元素。
输入格式:
输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。
输出格式:
在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。
输入样例:
10 3 -5 2 8 0 3 5 -15 9 100
11 6 4 8 2 6 -5 9 0 100 8 1
输出样例:
3 5 -15 6 4 1
#include<stdio.h>
#include<ctype.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
int main()
{
int n,m,temp,t=0,t1=0,t2=0;
scanf("%d",&n);
int s1[n];
for(int i=0;i<n;i++){
scanf("%d",&temp);
int f=1;
for(int i=0;i<t1;i++){
if(temp==s1[i]){
f=0;break;
}
}
if(f) s1[t1++]=temp;
}
scanf("%d",&m);
int s2[m];
for(int i=0;i<m;i++){
scanf("%d",&temp);
int f=1;
for(int i=0;i<t2;i++){
if(temp==s2[i]){
f=0;break;
}
}
if(f) s2[t2++]=temp;
}
int r[999];
for(int i=0;i<t1;i++){
int f=1;
for(int j=0;j<t2;j++){
if(s1[i]==s2[j]){
f=0;
break;
}
}
if(f) r[t++]=s1[i];
}
for(int i=0;i<t2;i++){
int f=1;
for(int j=0;j<t1;j++){
if(s2[i]==s1[j]){
f=0;
break;
}
}
if(f) r[t++]=s2[i];
}
int f=0;
for(int i=0;i<t;i++){
if(f) printf(" ");
printf("%d",r[i]);
f=1;
}
}