用c语言编写7人排班程序
时间: 2023-03-27 18:05:19 浏览: 255
你好,我可以回答这个问题。以下是一个简单的用 C 语言编写的 7 人排班程序的示例代码:
```c
#include <stdio.h>
int main() {
char names[7][20] = {"张三", "李四", "王五", "赵六", "钱七", "孙八", "周九"};
int days = 30;
int shifts = 3;
int schedule[30][3] = {};
int i, j, k;
for (i = ; i < days; i++) {
for (j = ; j < shifts; j++) {
int assigned = ;
while (!assigned) {
int index = rand() % 7;
if (schedule[i][] == index || schedule[i][1] == index) {
continue;
}
schedule[i][j] = index;
assigned = 1;
}
}
}
for (i = ; i < days; i++) {
printf("第 %d 天的排班情况:\n", i + 1);
for (j = ; j < shifts; j++) {
printf("第 %d 班:", j + 1);
for (k = ; k < 7; k++) {
if (schedule[i][j] == k) {
printf("%s ", names[k]);
break;
}
}
printf("\n");
}
printf("\n");
}
return ;
}
```
这个程序使用了一个二维数组来存储每个人的排班情况,其中第一维表示日期,第二维表示班次。程序会随机分配每个人的班次,确保每个人每天只有一个班次,并且每个人每个班次都不会重复。最后,程序会输出每天的排班情况。
阅读全文