实现一个评委打分系统,要求用软件创建一个项
目,项目命名方式为个人姓名一评委打分;程序
内设计人填自己的名字。系统的功能示例如下
图
①可以实现循环功能选择,输入评委打分、最高
分、最低分、最终成绩、显示评分都由函数实
现,成绩保存在数组中,数组大小最大20。
②显示最终得分函数有4个参#数,分别为所有成
绩,成绩个数,最高分和最低分,功能为去除一
个最高分和一个最低分,然后计算平均分,显示
结果保留小数点后两位。
③必须先选择功能1后才能选择2~5功能,否则要
提示;输入1-6以外的功能显示输入错误;输入6
退出程序。
有帮助的话 采纳一下
#include <stdio.h>
#include <stdlib.h>
#define MAX 20
int scores[MAX]; // 存放所有评委打分
int count = 0; // 评委人数
char names[MAX][20];// 存放评委姓名
// 获取评委姓名和打分
void getScore() {
printf("输入评委姓名:");
scanf("%s", names[count]);
printf("输入%s的打分:", names[count]);
scanf("%d", &scores[count]);
count++;
}
// 计算最高分、最低分和平均分
void calScore() {
int high = 0, low = 100;
float sum = 0, avg;
for (int i = 0; i < count; i++) {
if (scores[i] > high) high = scores[i];
if (scores[i] < low) low = scores[i];
sum += scores[i];
}
avg = (sum - high - low) / (count - 2);
printf("最高分:%d,最低分:%d,平均分:%.2f\n", high, low, avg);
}
// 显示各评委姓名和打分
void showScore() {
for (int i = 0; i < count; i++)
printf("%s:%d\n", names[i], scores[i]);
}
int main() {
int choice;
do {
printf("1. 添加评委信息\n");
printf("2. 显示各评委打分\n");
printf("3. 计算评委成绩\n");
printf("4. 显示评委信息\n");
printf("5. 清空评委信息\n");
printf("6. 退出\n");
printf("请选择:");
scanf("%d", &choice);
switch(choice) {
case 1: getScore(); break;
case 2: showScore(); break;
case 3: calScore(); break;
case 4: showScore(); break;
case 5: count = 0; break;
case 6: break;
default: printf("输入错误,请重新选择!\n");
}
} while(choice != 6);
}