标签:
给定两个整型数组,本题要求找出不是两者共有的元素。
输入格式:
输入分别在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 }
标签:
原文地址:http://www.cnblogs.com/yomman/p/4237497.html