c语言排班系统道客巴巴,排班系统。c语言

#include int n = 0;

int rest[7][7];

void swap(int *a, int *b)

{

int m;

m = *a;

*a = *b;

*b = m;

}

void perm(int list[], int k, int m)

{

int i;

int j;

if(k > m)

{

for (i=0; i<7; i++)

{

for (j=0; j<7; j++)

{

if (rest[i][j] == 0)

return;

if (rest[i][j] != list[i])

continue;

if (rest[i][j] == list[i])

break;

}

}

n++;

printf("solution: %d\n", n);

printf("赵 钱 孙 李 周 吴 陈\n");

printf("=============================================================\n");

for(i = 0; i <= m; i++)

{

switch (list[i])

{

case 1: printf("星期一 ");

break;

case 2: printf("星期二 ");

break;

case 3: printf("星期三 ");

break;

case 4: printf("星期四 ");

break;

case 5: printf("星期五 ");

break;

case 6: printf("星期六 ");

break;

case 7: printf("星期日 ");

break;

default:

break;

}

}

printf("\n\n\n");

}

else

{

for(i = k; i <= m; i++)

{

swap(&list[k], &list[i]);

perm(list, k + 1, m);

swap(&list[k], &list[i]);

}

}

}

int main()

{

printf("\n");

printf("注意:\n");

printf(" 1.请按钱、赵、孙、李、周、吴、陈的顺序输入休息每个人的时间。\n");

printf(" 2.输入星期时,请直接输入数字,如要输入'星期一',就用'1'代替,以此类推。\n");

printf(" 3.星期与星期之间用空格隔开,每输入完一个人的休息日,在其后输入0,再按回车继续下一人。\n");

printf("\n");

int list[] = {1, 2, 3, 4, 5, 6, 7};

int i, j;

for(i = 0; i < 7; i++)

{

printf("请输入第 %d 个人的休息时间:\n", i+1);

for(j = 0; j < 7; j++)

{

scanf("%d", &rest[i][j]);

if(rest[i][j] == 0)

break;

}

}

printf("\n\n\n");

perm(list, 0, 6);

getchar();

getchar();

printf("输出完毕,按回车键结束!\n");

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值