如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
#include<stdio.h>#defineN4//N值为男生人数或女生人数(可任意修改)voidmain(){inta[N][N],b[N][N],c[N][2];inti,j,k,t,n;intflg=0;for(i=0;i<N;i++)//男生数据赋值{printf("输入第%d个男生的数据\n",i+1);for(j=0;j<N;j++){scanf("%d",&a[i][j]);}}for(i=0;i<N;i++)//女生数据赋值{printf("输入第%d个女生的数据\n",i+1);for(j=0;j<N;j++){scanf("%d",&b[i][j]);}}printf("\n");for(i=0;i<N;i++)//男生输出{printf("男孩%d:",i+1);for(j=0;j<N;j++){printf("%d",a[i][j]);}printf("\n");}for(i=0;i<N;i++)//女生输出{printf("女孩%d:",i+1);for(j=0;j<N;j++){printf("%d",b[i][j]);}printf("\n");}for(i=0;i<N;i++)//男女分组初始化{c[i][0]=i;c[i][1]=0;}while(flg!=1)//相同被喜欢人判断{for(i=0;i<N;i++){if(c[i][1]==0){for(k=0;k<N;k++){if(a[i][k]!=0){c[i][1]=a[i][k];a[i][k]=0;break;}}}}for(i=0;i<N;i++){for(j=i+1;j<N;j++){if(c[i][1]==0)break;if(c[j][1]==0)continue;if(c[i][1]==c[j][1]){for(t=0;t<N;t++){if(b[c[i][1]-1][t]==i+1){c[j][1]=0;break;}elseif(b[c[i][1]-1][t]==j+1){c[i][1]=0;break;}}}}}for(i=0;i<N;i++){if(c[i][1]==0)break;}if(i==N)flg=1;}printf("男孩:");//判断结果输出for(i=0;i<N;i++){printf("%d",i+1);}printf("\n");printf("女孩:");for(i=0;i<N;i++){printf("%d",c[i][1]);}printf("\n");}