void main()
{
int a[100],b[100],m,n,i=0,j=0,k=0,p=0
printf("input a[],end of -1:\n")
scanf("%d",&a[0])
while(a[i]!=-1){
i++
scanf("%d",&a[i])
}
m=i
printf("input b[],end of -1:\n")
scanf("%d",&b[0])
while(b[j]!=-1){
j++
scanf("%d",&b[j])
}
n=j
for(j=0j<nj++){
for(i=0i<mi++){
if(a[i]==b[j])
p=1
}
if(p!=1){
a[m+k]=b[j]
k++
}
p=0
}
for(i=0i<m+ki++)
printf("%d ",a[i])
}
#include <stdio.h>#include <string.h>
int main(int argc, char* argv[])
{
char a[20],b[20]
int n,m,j,k
printf ("请输入第一个集合内容\n")
scanf ("%s",a)
j=strlen(a)
printf ("请输入第二个集合内容\n")
scanf ("%s",b)
k=strlen(b)
printf ("集合的交集是:") ///////////////////////计算2个数组的交集//////////////////// //flag标志位,index数组下标标志位 int flag=1, index=0 //c[20]保存交集的数组,d[40]保存并集的数组
char c[20]="",d[40]=""
for (n=0n<jn++)
{
for (m=0m<=km++)
{
if(a[n] == b[m])
{
c[index++] = a[n]
break
}
}
}
printf("\n%s\n",c) ////////////////////////////计算2个数组的并集/////////////////////// flag=1
index=0
for (n=0n<jn++)
{
for(m=0m<indexm++)
{
if(d[m] == a[n])
flag=0
}
if(flag)
{
d[index++]=a[n]
}
flag=1
}
flag=1
for (n=0n<jn++)
{
for(m=0m<indexm++)
{
if(d[m] == b[n])
flag=0
}
if(flag)
{
d[index++]=b[n]
}
flag=1
} printf ("集合的并集是:")
printf("\n%s\n",d)
return 0
}