给定两个整型数组,本题要求找出不是两者共有的元素。
输入格式:
输入分别在2行中给出2个整型数组,每行先给出正整数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
1 #include <iostream> 2 #include <stdio.h> 3 #include <math.h> 4 #include <string> 5 #include <stdlib.h> 6 7 using namespace::std; 8 9 int main(){ 10 int n1,n2; 11 int a[20],b[20]; 12 int c[20]; 13 14 scanf("%d",&n1); 15 for(int i=0;i<n1;i++) 16 { 17 scanf("%d",&a[i]); 18 } 19 scanf("%d",&n2); 20 for(int i=0;i<n2;i++) 21 { 22 scanf("%d",&b[i]); 23 } 24 25 26 int k=0; 27 for(int i=0;i<n1;i++) 28 { 29 int flag=0; 30 for(int j=0;j<n2;j++) 31 { 32 if(a[i]==b[j]) 33 { 34 flag=1; 35 } 36 } 37 38 if(flag==0) 39 { 40 c[k]=a[i]; 41 k++; 42 } 43 } 44 45 for(int i=0;i<n2;i++) 46 { 47 int flag=0; 48 for(int j=0;j<n1;j++) 49 { 50 if(b[i]==a[j]) 51 { 52 flag=1; 53 } 54 } 55 56 if(flag==0) 57 { 58 c[k]=b[i]; 59 k++; 60 } 61 } 62 63 int flag=0; 64 for(int i=0;i<k;i++) 65 { 66 flag=0; 67 for(int j=0;j<k;j++) 68 { 69 if(c[i]==c[j]&&i>j) 70 { 71 flag=1; 72 } 73 74 } 75 76 77 if(flag==1) 78 { 79 } 80 else 81 { 82 if(i!=0)printf(" "); 83 printf("%d",c[i]); 84 } 85 } 86 return 0; 87 }