C语言.统计分析功能: 1)可统计当前排队人数最多的窗口业务类型,为新增窗口提供依据; 2)可按评分高低顺序展示所有窗口; 3)可按服务的顾客总数顺序展示所有窗口;代码
时间: 2024-03-14 14:43:10 浏览: 11
下面是一个简单的 C 语言程序,其中包含了统计分析功能:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义结构体 Window,表示一个窗口
typedef struct {
char type[50]; // 业务类型
int score; // 评分
int customer_count; // 服务的顾客总数
} Window;
int main() {
int window_count = 5; // 窗口总数
Window *windows = (Window *)malloc(window_count * sizeof(Window)); // 动态分配空间
int max_waiting_count = 0; // 当前排队人数最多的窗口业务类型对应的排队人数
char max_waiting_type[50]; // 当前排队人数最多的窗口业务类型
int i;
// 初始化窗口信息
for (i = 0; i < window_count; i++) {
printf("请输入窗口 %d 的业务类型:", i + 1);
scanf("%s", windows[i].type);
printf("请输入窗口 %d 的评分:", i + 1);
scanf("%d", &windows[i].score);
printf("请输入窗口 %d 的服务顾客总数:", i + 1);
scanf("%d", &windows[i].customer_count);
// 判断是否为当前排队人数最多的窗口业务类型
if (windows[i].customer_count > max_waiting_count) {
max_waiting_count = windows[i].customer_count;
strcpy(max_waiting_type, windows[i].type);
}
}
// 统计当前排队人数最多的窗口业务类型
printf("当前排队人数最多的窗口业务类型为:%s\n", max_waiting_type);
// 按评分高低顺序展示所有窗口
printf("按评分高低顺序展示所有窗口:\n");
int j, k;
for (j = 0; j < window_count - 1; j++) {
for (k = 0; k < window_count - j - 1; k++) {
if (windows[k].score < windows[k+1].score) {
Window temp = windows[k];
windows[k] = windows[k+1];
windows[k+1] = temp;
}
}
}
for (i = 0; i < window_count; i++) {
printf("窗口 %d:业务类型:%s,评分:%d,服务顾客总数:%d\n", i + 1, windows[i].type, windows[i].score, windows[i].customer_count);
}
// 按服务的顾客总数顺序展示所有窗口
printf("按服务的顾客总数顺序展示所有窗口:\n");
for (j = 0; j < window_count - 1; j++) {
for (k = 0; k < window_count - j - 1; k++) {
if (windows[k].customer_count < windows[k+1].customer_count) {
Window temp = windows[k];
windows[k] = windows[k+1];
windows[k+1] = temp;
}
}
}
for (i = 0; i < window_count; i++) {
printf("窗口 %d:业务类型:%s,评分:%d,服务顾客总数:%d\n", i + 1, windows[i].type, windows[i].score, windows[i].customer_count);
}
free(windows); // 释放内存空间
return 0;
}
```
注意:此程序只是一个简单的示例,仅供参考。在实际使用中,还需要考虑很多其他因素,如数据的安全性、程序的效率等等。