c语言排班表
时间: 2023-12-07 07:06:35 浏览: 44
这里给出一个简单的C语言排班表示例,你可以根据自己的需求进行修改:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NAME_LEN 20
typedef struct {
char name[MAX_NAME_LEN];
int shift[7]; // 0表示休息,1表示工作
} Employee;
int main() {
int n; // 员工人数
printf("请输入员工人数:");
scanf("%d", &n);
Employee *employees = (Employee *)malloc(n * sizeof(Employee));
if (!employees) {
printf("内存分配失败!\n");
return 1;
}
// 输入员工信息
for (int i = 0; i < n; i++) {
printf("请输入第%d个员工的姓名:", i+1);
scanf("%s", employees[i].name);
printf("请输入%s的排班情况(0表示休息,1表示工作):\n", employees[i].name);
for (int j = 0; j < 7; j++) {
printf("星期%d:", j+1);
scanf("%d", &employees[i].shift[j]);
}
}
// 输出排班表
printf("\n排班表:\n");
printf("姓名\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期日\n");
for (int i = 0; i < n; i++) {
printf("%s\t", employees[i].name);
for (int j = 0; j < 7; j++) {
printf("%d\t", employees[i].shift[j]);
}
printf("\n");
}
free(employees);
return 0;
}
```
这个程序可以让你输入员工人数以及每个员工的姓名和排班情况,然后输出一个简单的排班表。你可以根据需要进行修改和扩展。