题目

练习7-4 找出不是两个数组共有的元素 (20 分)
给定两个整型数组,本题要求找出不是两者共有的元素。

输入格式:
输入分别在两行中给出两个整型数组,每行先给出正整数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.按照数字给出的顺序输出不是两数组共有的元素,2.同一数字不重复输出。

不改变原始顺序的去重:删去一个重复元素后,修改整个大循环的限定条件。

通常来说for循环的条件表达式是一个固定的数,但这里它根据需要进行了调整。

代码

#include<stdio.h>int main(){int n,m,i,j,a[21],b[21],c[50],k=0;scanf("%d",&n);for(i=0;i<n;++i){scanf("%d",&a[i]);}scanf("%d",&m);for(i=0;i<m;++i){scanf("%d",&b[i]);}for(i=0;i<n;++i){//查第一个数组有,第二个数组无的元素for(j=0;j<m;++j){if(a[i]==b[j]) break;}if(j==m){c[k]=a[i];k++;}}for(i=0;i<m;++i){//查第二个数组有,第一个数组无的元素for(j=0;j<n;++j){if(a[j]==b[i]) break;}if(j==n){c[k]=b[i];k++;}}int l;for(i=0;i<k;++i){//数组去重,不改变原始顺序,并更新数组for(j=i+1;j<k;++j){if(c[i]==c[j]){for(l=j+1;l<k;++l){c[l-1]=c[l];}k=k-1;//重复的去掉,因此数组长度减一}}}for(i=0;i<k;++i){if(i==0)printf("%d",c[i]);elseprintf(" %d",c[i]);}
}

找出不是两个数组共有的元素相关推荐

  1. pta 习题集 5-2 找出不是两个数组共有的元素 (5分)

    给定两个整型数组,本题要求找出不是两者共有的元素. 输入格式: 输入分别在两行中给出两个整型数组,每行先给出正整数NN(≤20≤20),随后是NN个整数,其间以空格分隔. 输出格式: 在一行中按照数字 ...

  2. 找出不是两个数组共有的元素(学习去重复算法)

    描述 给定两个整型数组,本题要求找出不是两者共有的元素.‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬ ...

  3. (难得要死)找出不是两个数组共有的元素

    题目描述 定两个整型数组,本题要求找出不是两者共有的元素. 输入 输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔. 输出 在一行中按照数字给出的顺序输出 ...

  4. 找出不是两个数组共有的元素_06.数组(练习篇)

    title: LeetCode 第 15 号问题:三数之和(中等) date: '2020-5-23' updated: '2020-5-25' tags: [LeetCode] 题目: # 给你一个 ...

  5. 找出所有不是这两个数组共有的元素

    文章目录 引入 代码 运行测试 引入 找出不是两个数组共有的元素.输入一个正整数 n(1<n≤10),再输入 n 个整 数,存入第 1 个数组中:然后输入一个正整数 m(1<m<=1 ...

  6. 如何快速找出找出两个数组中的_找出JavaScript中两个数组之间的差异

    LeetCode今天面临的挑战是在数组中查找所有消失的数字. 蛮力 我们的输入包括一个缺少数字的实际数组.我们想将该数组与相同长度的数组进行比较,其中没有遗漏的数字.所以如果给定的话[4,3,2,7, ...

  7. C语言找出不是两个数组共有的数,vivo游戏官方网首页 -vivo游戏官方网首页V3.9.28...

    php下载文件 报Apache/2.4.29 (Ubuntu) Server at admin.milebb.cn Port 80 的解决方法. Microsoft store应用商店无法加载页面,显 ...

  8. 找出两个数组相同的元素

    题目:找出两个数组(有重)相同的元素,两种方法 public class 出两个数组相同的元素 { public static void main(String[] args) { // TODO A ...

  9. 从数组中找出最大的两个数

    题目:从数组区间A[lo, hi]中找出最大的两个整数A[x1]和A[x2],要求元素比较的次数尽可能的少. 迭代版1: 如图所示,当整个扫描一遍数组A,找出最大的数x1后,再扫描一次数组剩下的除去x ...

最新文章

  1. 新海诚没有参与制作的作品_下列哪部作品新海诚没有参与制作
  2. 鸿蒙系统吹的厉害实际一般,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可 !【手机吧】_百度贴吧...
  3. U盘安装openSuse
  4. linux tomcat守护_linux-非root用户运行tomcat(示例代码)
  5. 唯美动态个人404单页HTML源码
  6. mutilprocess模块的用法
  7. WF4.0 Beta1 CancellationScope 取消容器
  8. 权威cpu测试软件,权威CPU测试软件更新 CPU-Z v1.40.5
  9. 喜庆普通铁路也要跑动车了
  10. 图数据库Neo4j下载、安装
  11. C语言 计算字符串长度的几种方法
  12. 数据库时间相减_sql时间相减
  13. zoj 3551 Bloodsucker (概率dp)
  14. Heartbeat的介绍及工作原理
  15. springsecurity整合jwt实现授权认证,权限分配
  16. FileZilla的安装及使用
  17. WPS Word表格转成文字或文字制成表格的快捷方法
  18. 手把手教你逆向微信之朋友圈小视频转发(上)
  19. QtCreater中添加Debug支持
  20. 【待解决的难题】在网页端下载淘宝直播视频

热门文章

  1. STM32——直流电机PI调速
  2. python 控制手机摄像头_python+open cv调用手机摄像头,保存文件
  3. RequestDispatcher提供两个方法:forward,include有什么区别
  4. IDEA配置xml文件头报错:URI is not registered (Settings | Languages Frameworks | Schemas and DTDs)解决方法,亲测有效
  5. jlabel字怎么变化_疫情在家烦躁不如学习怎样练好字吧
  6. linux fcntl 设置阻塞,Linux fcntl函数设置阻塞与非阻塞
  7. 矩阵论思维导图_《实变函数论》 江泽坚 3rd 思维导图与笔记整理
  8. python upper_Python 3中的模块级string.upper函数在哪里?
  9. php explode 循环,PHP explode 切割字串 快速取得最後一個值
  10. 复杂电路简化经典例题_【中考物理】电路简化的10大原则和7大步骤