數組-06. 找出不是兩個數組共有的元素(20)
時間限制
400 ms
內存限制
65536 kB
代碼長度限制
8000 B
判題程序
Standard
作者
張彤彧(浙江大學)
給定兩個整型數組,本題要求找出不是兩者共有的元素。
輸入格式:
輸入分別在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<stdio.h> 2 #include<math.h> 3 #include<stdlib.h> 4 #include<string.h> 5 int main() 6 { 7 int i, j, m, n, a[25], b[25], c[25], k = 0, flag, equal; 8 scanf("%d", &m); 9 for(i = 0; i < m; i++) 10 scanf("%d", &a[i]); 11 scanf("%d", &n); 12 for(i = 0; i < n; i++) 13 scanf("%d", &b[i]); 14 for(i = 0; i < m; i++) 15 { 16 flag = 0; 17 for(j = 0; j < i; j++) 18 if(a[i] == a[j]) 19 flag = 1; 20 if(!flag) 21 { 22 equal = 0; 23 for(j = 0; j < n; j++) 24 if(a[i] == b[j]) 25 { 26 equal = 1; 27 break; 28 } 29 if(!equal) 30 c[k++] = a[i]; 31 } 32 } 33 for(i = 0; i < n; i++) 34 { 35 flag = 0; 36 for(j = 0; j < i; j++) 37 if(b[i] == b[j]) 38 flag = 1; 39 if(!flag) 40 { 41 equal = 0; 42 for(j = 0; j < m; j++) 43 if(b[i] == a[j]) 44 { 45 equal = 1; 46 break; 47 } 48 if(!equal) 49 c[k++] = b[i]; 50 } 51 } 52 printf("%d", c[0]); 53 for(i = 1; i < k; i++) 54 printf(" %d", c[i]); 55 printf("\n"); 56 return 0; 57 }
