咋求两个数组的并集
#include <stdio.h>int main(void)
{
int a[500],b[500],c[1000],d[500],y[1000],k = 0;
int i,j,n,m,t,r;
int q=0,w=0,e=0;
scanf("%d",&n);
for(i = 0; i < 5; i++)
scanf("%d",&a[i]);
scanf("%d",&m);
for(j = 0; j < 5; j++)
scanf("%d",&b[j]);
for(i = 0;i<n;i++)
for(j = 0; j < m; j++)
{ if(a[i]==b[j])
{ printf("%d ",a[i]);
d[w++]=a[i];
k++;
}
}//交集;
for(i = 0;i<n;i++)
c[q++]=a[i];
r=n;
for(j = 0; j < m; j++)
c[r++]=b[j];//a,b数组给c
for(i = 0;i<q+r-1;i++)
for(j = 0; j<q+r-i-1; j++)
{ if(c[j]>c[j+1])
{ t=c[j];
c[j]=c[j+1];
c[j+1]=t;
}
}//数组c排序
w=0;
for(i = 0;i<q+r;i++)
{ if(c[i]!=d[w])
{ y[e]=c[i];
e++;
}
w++;
}
for(i = 0;i<e;i++)
printf("%d ",y[i]);
printf("\n");
return 0;
}
我标了交集注释之后的是求并集,这毛病在哪啊,求各位点拨