怎样制作图片网站,电子商务网站建设过程,wordpress 首页调用最新文章,网站后台插件下载题目
练习7-4 找出不是两个数组共有的元素 (20 分) 给定两个整型数组#xff0c;本题要求找出不是两者共有的元素。
输入格式: 输入分别在两行中给出两个整型数组#xff0c;每行先给出正整数N#xff08;≤20#xff09;#xff0c;随后是N个整数#xff0c;其间以空格…题目
练习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循环的条件表达式是一个固定的数但这里它根据需要进行了调整。
代码
#includestdio.hint main(){int n,m,i,j,a[21],b[21],c[50],k0;scanf(%d,n);for(i0;in;i){scanf(%d,a[i]);}scanf(%d,m);for(i0;im;i){scanf(%d,b[i]);}for(i0;in;i){//查第一个数组有第二个数组无的元素for(j0;jm;j){if(a[i]b[j]) break;}if(jm){c[k]a[i];k;}}for(i0;im;i){//查第二个数组有第一个数组无的元素for(j0;jn;j){if(a[j]b[i]) break;}if(jn){c[k]b[i];k;}}int l;for(i0;ik;i){//数组去重不改变原始顺序并更新数组for(ji1;jk;j){if(c[i]c[j]){for(lj1;lk;l){c[l-1]c[l];}kk-1;//重复的去掉因此数组长度减一}}}for(i0;ik;i){if(i0)printf(%d,c[i]);elseprintf( %d,c[i]);}
}