C语言编程实现:物业管理信息系统中 对物业公司工作人员 的绩效考核分数统计功能。 运行窗口中,提示用户依次输入员工工号(三位数,001、002、003......)和某月的绩效考核分数(百分制),直到输入最后一位员工的为止,输出 所有员工分数的平均值、其中的最大值、最小值、及得60分以下的有几位员工(是哪几位(工号))。
时间: 2024-03-18 08:39:15 浏览: 50
好的,这是一个比较典型的C语言练习题,下面是实现代码:
```c
#include <stdio.h>
#define MAX_EMPLOYEE_NUM 1000 // 最大员工数
#define MIN_SCORE 0 // 最低分数
#define MAX_SCORE 100 // 最高分数
#define PASS_SCORE 60 // 及格分数
int main()
{
int emp_num = 0; // 员工数
int emp_id[MAX_EMPLOYEE_NUM] = {0}; // 员工工号数组
int emp_score[MAX_EMPLOYEE_NUM] = {0}; // 员工分数数组
int total_score = 0; // 总分数
int max_score = MIN_SCORE; // 最高分数
int min_score = MAX_SCORE; // 最低分数
int pass_num = 0; // 及格员工数
int pass_id[MAX_EMPLOYEE_NUM] = {0}; // 及格员工工号数组
int i, score;
// 输入员工工号和分数,直到输入0为止
printf("请输入员工工号和分数(以空格为分隔,输入0结束):\n");
do {
scanf("%d %d", &emp_id[emp_num], &score);
if (emp_id[emp_num] == 0) {
break;
}
if (score < MIN_SCORE || score > MAX_SCORE) { // 分数超出范围,重新输入
printf("分数超出范围,请重新输入:\n");
continue;
}
emp_score[emp_num] = score;
total_score += score;
if (score > max_score) {
max_score = score;
}
if (score < min_score) {
min_score = score;
}
if (score >= PASS_SCORE) { // 及格员工
pass_id[pass_num] = emp_id[emp_num];
pass_num++;
}
emp_num++;
} while (emp_num < MAX_EMPLOYEE_NUM);
// 输出统计结果
printf("所有员工分数的平均值为:%.2f\n", (float)total_score / emp_num);
printf("所有员工分数的最高分为:%d\n", max_score);
printf("所有员工分数的最低分为:%d\n", min_score);
printf("得%d分以下的员工有%d位,他们的工号分别为:", PASS_SCORE, emp_num - pass_num);
for (i = 0; i < emp_num - pass_num; i++) {
printf("%d ", emp_id[i]);
}
printf("\n");
return 0;
}
```
注意,这里使用了一些宏定义来定义常量,这样可以方便地修改参数,提高代码的可维护性。
阅读全文