一个工厂,为了利益最大化,员工轮休。每人每周休2天,现在让每位员工登记自己想休息的时间,以备轮休排班时参考。每位员工输入两个不大于7的数字,逗号分隔,表示自己希望星期几休息,用一个n行7列的矩阵来存储数据,每行表达一名员工,每列表达一天,编程读入数据,建立初始矩阵,每人的休息日对应位置为1,否则为0。 输入格式: 第一行输入员工人数n(小于20) 后边输入n行数据,每行两个数,表示两个休息日是周几 输出格式: 输出n行7列矩阵,例如3号员工星期2休息,则第3行的第2列数据为1,否则为0 输入样例: 5 6,5 2,3 1,3 6,7 5,6 用c语言完成
时间: 2024-03-10 16:46:06 浏览: 127
员工轮休办法.doc
以下是用C语言实现的代码:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int matrix[n][7]; // 定义n行7列的矩阵
// 初始化矩阵,每个元素都是0
for (int i = 0; i < n; i++) {
for (int j = 0; j < 7; j++) {
matrix[i][j] = 0;
}
}
// 读入每个员工的休息日,并在矩阵中标记
for (int i = 0; i < n; i++) {
int day1, day2;
scanf("%d,%d", &day1, &day2);
matrix[i][day1 - 1] = 1;
matrix[i][day2 - 1] = 1;
}
// 输出矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < 7; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
这段代码首先读入员工人数n,然后定义一个n行7列的矩阵。接着,初始化矩阵,每个元素都是0。然后,读入每个员工的休息日,并在矩阵中标记。最后,输出标记后的矩阵。
阅读全文