二维数组每行保存着一个整数集合,共有5个集合,每个集合均包含5个元素。编写程序求出这五个集合的交集,以及交集中元素的个数。所谓交集是指由所有同时出现在这5个集合中的元素组成的集合。 五个集合分别为: {12,35,3,9,0},{2,35,9,12,1},{35,12,0,1,9},{4,90,35,9,12},{11,9,0,12,35}
2条回答 默认 最新
CSDN专家-link 2021-12-05 14:33关注定义一个两个数组求交集的函数,二维数组无非是将两个数组交集再循环与下一个数组求交集
#include <stdio.h> void jj(int *a,int *b,int *c,int *n) { int i,j,k=0; for(i=0;i<*n;i++) for(j=0;j<5;j++) { if(a[i] == b[j]) { c[k++] = b[j]; break; } } *n = k; } int main() { int a[5][5] = {{12,35,3,9,0},{2,35,9,12,1},{35,12,0,1,9},{4,90,35,9,12},{11,9,0,12,35}}; int b[5],i; int n = 5; for(i=0;i<4;i++) { if(i==0) jj(a[i],a[i+1],b,&n); else jj(b,a[i+1],b,&n); } printf("%d\n",n); for(i=0;i<n;i++) printf("%d ",b[i]); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 4无用 2