# include<stdio.h>
void main()
{int a[100],b[100],c[100];
int d,i,j,k=0,m=0,n=0,x=0,y=0;
char z;
printf("1:集合的並集\n2:集合的交集\n3:集合的差集\n4:集合的補集\n5:集合的對稱差\n");
printf("請從1,2,3,4,5中選擇一個數進入運算");
scanf("%d",&d);
if(d>5||d<1)
{printf("數據輸入錯誤!\n");
printf("請重新輸入數據");
scanf("%d",&d);
}
if(d==1)
{for(i=0;z!='\n';i++)
{scanf("%d%c",&a[ i ],&z);
m++;
}
z='f';
for(i=0;z!='\n';i++)
{scanf("%d%c",&b[ i ],&z);
n++;
}
x=m+n;
for(i=m;i<x;i++)
a[ i ]=b[y++];
for(i=0;i<(m+n-1);i++)
for(j=i+1;j<x;j++)
if(a[ i]==a[ j ])
{ for(k=j;k<x;k++)
a[k]=a[k+1];
x--;
j--;
}
printf("集合的並集為:");
for(i=0;i<x;i++)
printf("%4d",a[ i ]);
printf("\n");
}
if(d==2)
{for(i=0;z!='\n';i++)
{scanf("%d%c",&a[ i ],&z);
m++;
}
z='z';
for(i=0;z!='\n';i++)
{scanf("%d%c",&b[ i ],&z);
n++;
}
for(i=0;i<m;i++)
for(j=0;j<n;j++)
if(a[ i ]==b[ j ])
{ c[x++]=a[ i ];
y++;
}
printf("集合的交集為:");
if(!y)
printf("空集");
if(y)
for(i=0;i<y;i++)
printf("%4d",c[ i ]);
}
if(d==3)
{ for(i=0;z!='\n';i++)
{scanf("%d%c",&a[ i ],&z);
m++;
}
z='z';
for(i=0;z!='\n';i++)
{scanf("%d%c",&b[ i ],&z);
n++;
}
for(i=0;i<m;i++)
for(j=0;j<n;j++)
if(a[ i ]==b[ j ])
{for(k=i;k<m;k++)
a[k]=a[k+1];
i--;
m--;
}
printf("集合a對b的差集為:");
for(i=0;i<m;i++)
printf("%4d",a[ i ]);
}
if(d==4)
{ for(i=0;z!='\n';i++)
{scanf("%d%c",&a[ i ],&z);
m++;
}
z='z';
for(i=0;z!='\n';i++)
{scanf("%d%c",&b[ i ] ,&z);
n++;
}
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(b[ i ]==a[ j ])
{ for(k=j;k<m;k++)
a[ k ]=a[k+1];
j--;
m--;
}
printf("集合b關於a的補集為:");
for(i=0;i<m;i++)
printf("%4d",a[ i ] );
}
if(d==5)
{ for(i=0;z!='\n';i++)
{scanf("%d%c",&a[ i ],&z);
m++;
}
z='z';
for(i=0;z!='\n';i++)
{scanf("%d%c",&b[ i ],&z);
n++;
}
for(i=0;i<m;i++)
for(j=0;j<n;j++)
if(a[ i ]==b[ j ])
{for(x=i;x<m;x++)
a[ x ]=a[x+1];
for(y=j;y<n;y++)
b[ y ]=b[ y+1 ];
i--;
j--;
m--;
n--;
}
for(z=m;z<m+n;z++)
a[ z ]=b[k++];
printf("集合a,b的對稱差為:");
for(i=0;i<m+n;i++)
printf("%4d",a [ i ]);
printf("\n");
}
}