#include <stdio.h>
void dui(int A[]);
void cuo(void);
void panduan(int p[7][7]);
void shuru();
int i,j,k; //i是每个保安的变量,j是存放选择的天数,k是存放每人选择日期的变量
int p[7][7]; //存放选择的日期的变量,每个人选择的日期变量
int a ,b ,c ,d ,e ,f ,g ;
int ax,bx,cx,dx,ex,fx,gx; //确定选择个数的变量
int A[7]={0}; //比较
int t,m,r;
//判断的变量
int main()
{
printf("\n\n-----------------------------\n");
printf("这是一个保安排班的系统\n作者:荆学辉\n-----------------------------\n\n");
shuru();
return 0;
}
void shuru() //录入每个人的休息日
{
printf("请输入各自想选择的休息日\n\n\n");
for(i=0;i<7;i++) //循环录入
{
if(i==0)//赵录入的休息日
{
printf("请输入赵选择休息日的天数:\n");
scanf("%d",&ax);
printf("请输入赵选择的休息日:\n");
for(k=0;k<ax;k++)
scanf("%d",&p[k][i]);
}
if(i==1)//钱录入的休息日
{
printf("请输入钱选择休息日的天数:\n");
scanf("%d",&bx);
printf("请输入钱选择的休息日:\n");
for(k=0;k<bx;k++)
scanf("%d",&p[k][i]);
}
if(i==2)//孙录入的休息日
{
printf("请输入孙选择休息日的天数:\n");
scanf("%d",&cx);
printf("请输入孙选择的休息日:\n");
for(k=0;k<cx;k++)
scanf("%d",&p[k][i]);
}
if(i==3)//李录入的休息日
{
printf("请输入李选择休息日的天数:\n");
scanf("%d",&dx);
printf("请输入李选择的休息日:\n");
for(k=0;k<dx;k++)
scanf("%d",&p[k][i]);
}
if(i==4)//周录入的休息日
{
printf("请输入周选择休息日的天数:\n");
scanf("%d",&ex);
printf("请输入周选择的休息日:\n");
for(k=0;k<ex;k++)
scanf("%d",&p[k][i]);
}
if(i==5)//吴录入的休息日
{
printf("请输入吴选择休息日的天数:\n");
scanf("%d",&fx);
printf("请输入吴选择的休息日:\n");
for(k=0;k<fx;k++)
scanf("%d",&p[k][i]);
}
if(i==6)//陈录入的休息日
{
printf("请输入陈选择休息日的天数:\n");
scanf("%d",&gx);
printf("请输入陈选择的休息日:\n");
for(k=0;k<gx;k++)
scanf("%d",&p[k][i]);
}
}//录入结束
panduan(p);
}
void panduan(int p[7][7]) //判断查重
{
for(a=0;a<ax&&p[a][0]!=0;a++)
{
for(b=0;b<bx&&p[b][1]!=0;b++)
{
for(c=0;c<cx&&p[c][2]!=0;c++)
{
for(d=0;d<dx&&p[d][3]!=0;d++)
{
for(e=0;e<ex&&p[e][4]!=0;e++)
{
for(f=0;f<fx&&p[f][5]!=0;f++)
{
for(g=0;g<gx&&p[g][6]!=0;g++)
{
A[0]=p[a][0];
A[1]=p[b][1];
A[2]=p[c][2];
A[3]=p[d][3];
A[4]=p[e][4];
A[5]=p[f][5];
A[6]=p[g][6];
t=1;
for(r=0;r<6;r++)
{
for(m=r+1;m<7;m++)
{
if(A[r]==A[m])
t=0;
}
} //比较任意两个数是否相等,相等则t=0,为假;
if(t==1) dui(A);
}
}
}
}
}
}
}
if(t==0) cuo();
}
void dui(int A[]) //输出
{
printf("赵的休息日为:%d\n",A[0]);
printf("钱的休息日为:%d\n",A[1]);
printf("孙的休息日为:%d\n",A[2]);
printf("李的休息日为:%d\n",A[3]);
printf("周的休息日为:%d\n",A[4]);
printf("吴的休息日为:%d\n",A[5]);
printf("陈的休息日为:%d\n\n",A[6]);
}
void cuo(void)
{
printf("对不起,您输入的时间有误,请重新输入!!\n");
}