找出不是两个数组共有的元素
2015-04-26 12:34
253 查看
数组-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
我的想法是先拿A数组去跟B数组比一遍,然后再反过来比一遍,把不是共有的数放到C数组中,最后消去数组C中相同的数输出,这样输出的就不会存在同一个数了
#include <stdio.h> int main() { int m; while(scanf("%d",&m)!=EOF) { int a[20],i; for(i=0;i<m;i++) scanf("%d",&a[i]); int n; scanf("%d",&n); int b[20]; for(i=0;i<n;i++) scanf("%d",&b[i]); int j; int c[20],k; k=0; for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(a[i]==b[j]) break; } if(j>=n) { c[k]=a[i]; k++; } } for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(b[i]==a[j]) break; } if(j>=m) { c[k]=b[i]; k++; } } printf("%d",c[0]); for(i=1;i<k;i++) { for(j=0;j<i;j++) { if(c[i]==c[j]) break; } if(j>=i) printf(" %d",c[i]); } printf("\n"); } return 0; }
相关文章推荐
- 找出不是两个数组共有的元素
- 数组-06. 找出不是两个数组共有的元素(20)
- 数组-06. 找出不是两个数组共有的元素(20)
- 数组-06. 找出不是两个数组共有的元素(20)
- 数组-06. 找出不是两个数组共有的元素
- 数组-06. 找出不是两个数组共有的元素(20)
- 数组-06. 找出不是两个数组共有的元素(20)
- PAT-找出不是两个数组共有的元素
- 找出不是两个数组共有的元素
- 数组-06. 找出不是两个数组共有的元素(20)
- 找出不是两个数组共有的元素
- 数组-06. 找出不是两个数组共有的元素(20)
- 找出不是两个数组共有的元素
- 找出不是两个数组共有的元素
- 数组-06. 找出不是两个数组共有的元素(20)
- 数组-06. 找出不是两个数组共有的元素(20)
- pta 习题集 5-2 找出不是两个数组共有的元素 (5分)
- pta 习题集 5-2 找出不是两个数组共有的元素 (5分)
- 5-8: 输入一个5行、6列的数组,找出该数组中绝对值最大的元素,输出该元素及其两个下标值
- 找出和值等于指定值的元素,如有序数组{1,2,6,23,43,64},求和等于25的两个和数则将是元素2和23,时间复杂度是0(n)。