声明下在“vc++6.0”环境下进行编译通过。
1。按照提示输入,输入一个星期按回车,例如:赵选择的是星期二,星期四。输入的时候输入“星期二+回车”,提示你是否还有选择有“y+回车”再输入星期四。。。。。。。。。
2。输入完成后自动打印轮休表。
3。代码一次修改,待优化的地方很多。。。楼主则优,优化
4。程序仅供参考;
程序代码:
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
struct st
{
char *a[7];
char b[7][8];
int c;
};
void panduan(struct st *s);
void main()
{
struct st s[7];
int i=0;
int j=0;
char k;
for(i=0;i<7;i++)
for(j;j<7;j++)
s[i].b[j][0]='\0';
s[0].a[0] = "赵";
s[1].a[1] = "钱";
s[2].a[2] = "孙";
s[3].a[3] = "李";
s[4].a[4] = "周";
s[5].a[5] = "吴";
s[6].a[6] = "陈";
printf("请输入每个人的轮休选择:\n");
for(i=0;i<7;i++)
{
printf("%s:\n",s[i].a[i]);
for(j=0;j<7;j++)
{
s[i].c = j;
printf("请输入:");
scanf("%s",s[i].b[j]);
printf("%s还有选择吗?(y/n)",s[i].a[i]);
fflush(stdin);
k=getchar();
if(k=='N'||k=='n')
break;
fflush(stdin);
}
system("cls");
}
system("cls");
panduan(s);
}
void panduan(struct st *s)
{
int i,j,k,l,m,n,z;
for(i=0;i<=s[0].c;i++)
{
for(j=0;j<=s[1].c;j++)
{
if(strcmp(s[1].b[j],s[0].b[i])==0)
continue;
for(k=0;k<=s[2].c;k++)
{
if(strcmp(s[2].b[k],s[1].b[j])==0)
continue;
if(strcmp(s[2].b[k],s[0].b[i])==0)
continue;
for(l=0;l<=s[3].c;l++)
{
if(strcmp(s[3].b[l],s[0].b[i])==0)
continue;
if(strcmp(s[3].b[l],s[1].b[j])==0)
continue;
if(strcmp(s[3].b[l],s[2].b[k])==0)
continue;
for(m=0;m<=s[4].c;m++)
{
if(strcmp(s[4].b[m],s[0].b[i])==0)
continue;
if(strcmp(s[4].b[m],s[1].b[j])==0)
continue;
if(strcmp(s[4].b[m],s[2].b[k])==0)
continue;
if(strcmp(s[4].b[m],s[3].b[l])==0)
continue;
for(n=0;n<=s[5].c;n++)
{
if(strcmp(s[5].b[n],s[0].b[i])==0)
continue;
if(strcmp(s[5].b[n],s[1].b[j])==0)
continue;
if(strcmp(s[5].b[n],s[2].b[k])==0)
continue;
if(strcmp(s[5].b[n],s[3].b[l])==0)
continue;
if(strcmp(s[5].b[n],s[4].b[m])==0)
continue;
for(z=0;z<=s[6].c;z++)
{
if(strcmp(s[6].b[z],s[0].b[i])==0)
continue;
if(strcmp(s[6].b[z],s[1].b[j])==0)
continue;
if(strcmp(s[6].b[z],s[2].b[k])==0)
continue;
if(strcmp(s[6].b[z],s[3].b[l])==0)
continue;
if(strcmp(s[6].b[z],s[4].b[m])==0)
continue;
if(strcmp(s[6].b[z],s[5].b[n])==0)
continue;
printf("%-4s,%-4s,%-4s,%-4s,%-4s,%-4s,%-4s\n",s[0].a[0],s[1].a[1],s[2].a[2],s[3].a[3],s[4].a[4],s[5].a[5],s[6].a[6]);
printf("=============================================================\n");
printf("%s,%s,%s,%s,%s,%s,%s\n",s[0].b[i],s[1].b[j],s[2].b[k],s[3].b[l],s[4].b[m],s[5].b[n],s[6].b[z]);
}
}
}
}
}
}
}
}
结果:
图片附件: 游客没有浏览图片的权限,请
登录 或
注册