集合:求A、B两个集合的交集、并集和补集的代码(C语言)
#include
#define N 100
main(){
int a[N],b[N],c[N],d[N];
int aa[N],bb[N];
int i,j,k=1;
int x=1,y=1,z;
int m,n;
int flag;
printf("please input Number of A:\n");
scanf("%d",&m);
printf("please input A:\n");
for(i=1;i<=m;i++){
scanf("%d",&a[i]);
}
printf("please input Number of B:\n");
scanf("%d",&n);
printf("please input B:\n");
for(i=1;i<=n;i++){
scanf("%d",&b[i]);
}
for(i=1;i<=m;i++){
flag=0;
for(j=1;j<=n;j++){
if(a[i]==b[j]){c[k]=a[i];k++;flag=1;continue;}
}
if(flag==0){
aa[x]=a[i];x++;}
}
for(i=1;i<=n;i++){
flag=0;
for(j=1;j<=m;j++){
if(a[j]==b[i]){flag=1;continue;}
}
if(flag==0){
bb[y]=b[i];y++;}
}
printf("A-A与B的交集:共%d个\n",x-1);
for(i=1;i
printf("B-A与B的交集:共%d个\n",y-1);
for(i=1;i
printf("A与B的交集:共%d个\n",k-1);
for(i=1;i
printf("A与B的并集:共%d个\n",x+y+k-3);
for(i=1;i
for(i=1;i
for(i=1;i
}
测试例:
4
1 2 3 4
8
1 3 4 5 6 7 8 9
运行结果: