使用C++语言(计算员工每周工作时间)假定所有员工的每周工作时间保存在一个二维数组中。每行保存一个员工7 天的工作时间。例如,下面数组保存了8 个员工的周工作时间。编写一个程序. 按周工作总时数递减的次序输出所有员工及他们的周工作总时数
时间: 2024-05-07 11:16:49 浏览: 39
基于C++的员工工作量统计系统设计与代码实现
ChitGPT: 你好,感谢你的问题。对于你的需求,可以使用以下代码来实现:
```
#include <stdio.h>
int main() {
int hours[8][7] = {{8, 7, 8, 8, 6, 7, 5},
{6, 9, 5, 7, 6, 8, 4},
{7, 4, 4, 6, 8, 7, 6},
{5, 6, 8, 7, 6, 5, 7},
{9, 8, 7, 6, 5, 4, 6},
{6, 5, 5, 7, 6, 8, 5},
{7, 8, 6, 5, 4, 5, 6},
{9, 6, 7, 5, 6, 5, 7}};
int total_hours[8];
int i, j, k;
for (i = 0; i < 8; i++) {
int total = 0;
for (j = 0; j < 7; j++) {
total += hours[i][j];
}
total_hours[i] = total;
}
for (i = 0; i < 7; i++) {
int max_index = i;
for (j = i + 1; j < 8; j++) {
if (total_hours[j] > total_hours[max_index]) {
max_index = j;
}
}
int temp_total = total_hours[i];
total_hours[i] = total_hours[max_index];
total_hours[max_index] = temp_total;
int temp_hours[7];
for (k = 0; k < 7; k++) {
temp_hours[k] = hours[i][k];
hours[i][k] = hours[max_index][k];
hours[max_index][k] = temp_hours[k];
}
}
printf("按周工作总时数递减的顺序输出所有员工及他们的周工作总时数:\n");
for (i = 0; i < 8; i++) {
printf("员工 %d:", i + 1);
for (j = 0; j < 7; j++) {
printf("%d ", hours[i][j]);
}
printf("总时数:%d\n", total_hours[i]);
}
return 0;
}
```
希望这个解答对你有用。如果你有更多问题,请继续提问。
阅读全文