当前位置:   article > 正文

【PTA题目】7-7 找出不是两个数组共有的元素 分数 20_在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不

在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不

7-7 找出不是两个数组共有的元素

分数 20

全屏浏览题目

切换布局

作者 张彤彧

单位 浙江大学

给定两个整型数组,本题要求找出不是两者共有的元素。

输入格式:

输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。

输出格式:

在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。

输入样例:

  1. 10 3 -5 2 8 0 3 5 -15 9 100
  2. 11 6 4 8 2 6 -5 9 0 100 8 1

输出样例:

3 5 -15 6 4 1
 参考答案
  1. #include <stdio.h>
  2. int main()
  3. {
  4. int i,j,n,m,a[20],b[20],r[40],temp=0,t,f=0,p=0;
  5. scanf("%d",&n);
  6. for(i=0;i<n;i++)
  7. scanf("%d",&a[i]);//n个数组成数组a
  8. scanf("%d",&m);
  9. for(j=0;j<m;j++)
  10. scanf("%d",&b[j]);//同理数组b
  11. for(i=0,--m;i<n;i++)
  12. {
  13. for(t=0;t<temp;t++)
  14. {p=0;if(a[i]==r[t])
  15. {p++;break;}}
  16. if(p)continue;
  17. for(t=m;t>=0;t--)
  18. {
  19. if(a[i]==b[t])
  20. {
  21. f++;break;
  22. }
  23. }
  24. if(!f)
  25. {r[temp]=a[i];
  26. temp++;}
  27. f=0;
  28. } //数组a中每个元素历遍数组b中每个元素,都不相同的存入数组r
  29. for(i=0,--n;i<=m;i++)
  30. {
  31. for(t=0;t<temp;t++)
  32. {p=0;if(b[i]==r[t])
  33. {p++;break;}}
  34. if(p)continue;
  35. for(t=n;t>=0;t--)
  36. {
  37. if(b[i]==a[t])
  38. {
  39. f++;break;
  40. }
  41. }
  42. if(!f)
  43. {r[temp]=b[i];
  44. temp++;}
  45. f=0;
  46. } //同理对数组b中所求元素存入数组r
  47. for(i=0;i<temp-1;i++)
  48. printf("%d ",r[i]);
  49. printf("%d",r[temp-1]); //输出数组r
  50. return 0;
  51. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/674085
推荐阅读
相关标签
  

闽ICP备14008679号