请用c语言编写(1)可统计当前排队最多的窗口业务类型 (2)可按评分高低顺序展示窗口(3)可按服务的顾客总顺序展示所以窗口
时间: 2024-01-02 08:03:51 浏览: 21
好的,我会尽力回答你的问题。
针对你的三个问题,我分别提供以下的C语言代码实现:
1. 统计当前排队最多的窗口业务类型:
```
#include <stdio.h>
int main() {
int queue[5][3] = {{2, 3, 5}, {1, 4, 2}, {3, 2, 6}, {4, 1, 2}, {2, 2, 3}}; // 定义一个二维数组,存储每个窗口当前的队列情况
int count[3] = {0, 0, 0}; // 定义一个数组,用于存储每个业务类型的队列总数
// 遍历每个窗口的队列情况,统计每个业务类型的队列总数
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 3; j++) {
count[j] += queue[i][j];
}
}
// 找出队列总数最大的业务类型
int max = count[0], index = 0;
for (int i = 1; i < 3; i++) {
if (count[i] > max) {
max = count[i];
index = i;
}
}
printf("当前排队最多的业务类型是:业务类型%d\n", index + 1);
return 0;
}
```
2. 按评分高低顺序展示窗口:
```
#include <stdio.h>
int main() {
struct Window {
int index; // 窗口编号
int score; // 窗口评分
} windows[5] = {{1, 85}, {2, 76}, {3, 90}, {4, 82}, {5, 91}}; // 定义一个结构体数组,存储每个窗口的编号和评分
// 冒泡排序,按评分从高到低排序
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5 - i - 1; j++) {
if (windows[j].score < windows[j + 1].score) {
struct Window temp = windows[j];
windows[j] = windows[j + 1];
windows[j + 1] = temp;
}
}
}
// 打印按评分从高到低排序后的窗口编号和评分
printf("按评分从高到低展示窗口:\n");
for (int i = 0; i < 5; i++) {
printf("窗口%d,评分:%d\n", windows[i].index, windows[i].score);
}
return 0;
}
```
3. 按服务的顾客总顺序展示所有窗口:
```
#include <stdio.h>
int main() {
struct Window {
int index; // 窗口编号
int customers; // 服务的顾客总数
} windows[5] = {{1, 35}, {2, 28}, {3, 42}, {4, 31}, {5, 40}}; // 定义一个结构体数组,存储每个窗口的编号和服务的顾客总数
// 冒泡排序,按服务的顾客总数从高到低排序
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5 - i - 1; j++) {
if (windows[j].customers < windows[j + 1].customers) {
struct Window temp = windows[j];
windows[j] = windows[j + 1];
windows[j + 1] = temp;
}
}
}
// 打印按服务的顾客总数从高到低排序后的窗口编号和服务的顾客总数
printf("按服务的顾客总数展示所有窗口:\n");
for (int i = 0; i < 5; i++) {
printf("窗口%d,服务的顾客总数:%d\n", windows[i].index, windows[i].customers);
}
return 0;
}
```
以上三个代码示例,分别实现了你提出的三个问题。希望能够帮助到你。