内容
- 已知所给集合 A 和 B,求 A 与 B 的并集 C(C=A∪B)
- 已知所给集合 A 和 B,求 A 与 B 的交集 C(C=A∩B)
- 已知所给集合 A 和 B,求 A 与 B 的差集 C(C=A-B)
*离散数学中的简单的集合运算,代码由C语言编写,思路非常简单,代码如下:
#include<stdio.h>
int Interection(int a[],int b[],int c[],int M,int N)
{
int i,j,k=0;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
if(b[j]==a[i])
{
c[k]=b[j];
k++;
}
}
}
return k;
}
int Union(int a[],int b[],int c[],int M,int N)
{
int i,j,k,l,z,x=0;
for(i=0;i<M;i++)
{
c[i]=a[i];
}
for(j=0;j<N;j++)
{
for(k=0;k<M;k++)
{
if(a[k]==b[j])
{
for(l=j;l<N-1;l++)
{
b[l]=b[l+1];
}
x++;
}
}
}
for(z=M;z<M+N;z++)
{
i=0;
c[z]=b[i];
i++;
}
return x;
}
void printx(int a[],int x)
{
int i;
for(i=0;i<x;i++)
{
printf("%d",a[i]);
}
}
int main()
{
int n;
printf("请选择要执行的操作:\n");
printf("1.并集\t2.交集\t3.差集\t4.退出");
scanf("%d",&n);
int M,N,i;
printf("请输入第一个数组的个数:\n");
scanf("%d",&M);
int a[M];
printf("请输入第一个数组中的数:\n");
for(i=0;i<M;i++)
{
scanf("%d",&a[i]);
}
printf("请输入第二个数组的个数:\n");
scanf("%d",&N);
int b[N];
printf("请输入第二个数组中的数:\n");
for(i=0;i<N;i++)
{
scanf("%d",&b[i]);
}
return 0;
}