实验7-1-8 找出不是两个数组共有的元素
day 5 记录,模拟思路,写的有点繁琐了,代码逻辑还行,可以参考一下。
#include<stdio.h>
int main(){
//输入a
int n;
scanf("%d",&n);
int a[n];
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
//输入b
int m;
scanf("%d",&m);
int b[m];
for(int i=0;i<m;i++){
scanf("%d",&b[i]);
}
//存入a和b中不同的数,没去重。
int c[m+n];
int index=0;
//找a中不同于b的数
for(int i=0;i<n;i++){
int flag=1;
for(int j=0;j<m;j++){
if(a[i] == b[j]){
flag=0;
}
}
if(flag){
c[index++]=a[i];
}
}
找b中不同于a的数
for(int i=0;i<m;i++){
int flag=1;
for(int j=0;j<n;j++){
if(b[i] == a[j]){
flag=0;
}
}
if(flag){
c[index++]=b[i];
}
}
//去除重复的数
for(int i=0;i<index-1;i++){
for(int j=i+1;j<index;j++){
if(c[i] == c[j]){
for(int k=j;k<index;k++){
c[k]=c[k+1];
}
//去重一个,长度减一
index--;
}
}
}
//输出
for(int i=0;i<index;i++){
if(i == index-1){
printf("%d",c[i]);
}else{
printf("%d ",c[i]);
}
}
return 0;
}