用c语言:一个工厂,为了利益最大化,员工轮休。每人每周休2天,现在让每位员工登记自己想休息的时间,以备轮休排班时参考。每位员工输入两个不大于7的数字,逗号分隔,表示自己希望星期几休息,用一个n行7列的矩阵来存储数据,每行表达一名员工,每列表达一天,编程读入数据,建立初始矩阵,每人的休息日对应位置为1,否则为0。 输入格式: 第一行输入员工人数n(小于20) 后边输入n行数据,每行两个数,表示两个休息日是周几 输出格式: 输出n行7列矩阵,例如3号员工星期2休息,则第3行的第2列数据为1,否则为0
时间: 2024-03-17 17:46:26 浏览: 181
职工系统,用C语言写的
以下是用C语言实现的代码:
```
#include <stdio.h>
int main() {
int n, i, j, day1, day2;
int rest[20][7] = {0}; // 初始矩阵,每人的休息日对应位置为0
printf("请输入员工人数n(小于20):\n");
scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("请输入第%d个员工的休息日:\n", i + 1);
scanf("%d,%d", &day1, &day2);
rest[i][day1-1] = 1; // 第i行的第day1-1列数据为1
rest[i][day2-1] = 1; // 第i行的第day2-1列数据为1
}
printf("初始矩阵为:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < 7; j++) {
printf("%d ", rest[i][j]);
}
printf("\n");
}
return 0;
}
```
代码思路:
1. 首先定义一个二维数组rest,用来存储每位员工的休息情况,初始值为0,表示未休息。
2. 读入员工人数n,并用for循环读入每个员工的休息日,将对应的位置设为1。
3. 输出初始矩阵。
注意:输入的两个数字之间要用逗号分隔,并且要减去1才能对应到数组中的下标。
阅读全文