阿拉德之怒宠物神灯:请高手帮忙一下,c语言,谢谢

来源:百度文库 编辑:高校问答 时间:2024/05/05 12:42:59
编个小程序求集合的补集,比如说A={1,3,7,10},B={3,7},那么补集A/B就是{1,10}。是同学问我的,说是很简单,我想用指针来实现,可是却总不对,希望哪位高手编一下,我看看,谢谢了!!!
还是不会啊,我太笨了,哪位帮帮忙啊。

#include<stdio.h>
#define M 4
#define N 2
int jiaoji(int a[],int b[],int jiao[])
{int i,j,c=0;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
if (a[i]==b[j]) jiao[c++]=a[i];
return c;
}

main()
{int a[M]={1,3,7,10},b[N]={1,10};
int jiao[M];
int exit,k;
k=jiaoji(a,b,jiao);
for(int i=0;i<k;i++)
{
printf("%d",jiao[i]);
printf("\n");
}
printf("please press any key exit");
scanf("%d",&exit);
}
数组jiao[]用于存放交集,当if (a[i]==b[j]) jiao[c++]=a[i];判断是否有相同的数,有的话就存入jiao[];
变量c,用于统计交集个数的大小;并将它返回到主函数变量k中;
变量exit的用途是,观察结果,并按任意键退出

int *a[10]={...};
int *b[10]={...};
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(*(a+i) == *(b+j))
{
//这里面你自己写吧....
}

}
}