一.题目:
学校组织了软件设计学科竞赛,邀请了七位评委现场打分,记分规则为:按百分制记分,去掉一个最高分和一个最低分,再求平均分。试设计一个记分程序,输入7位评委的评分,计算输出选手的平均得分(精确到三位小数)。
二.解答:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int get_max(int arr[])
{
int i = 0;
int max = arr[0];
for (i = 1; i < 7; i++)
{
if (arr[i] > max)
max = arr[i];
}
return max;
}
int get_min(int arr[])
{
int i = 0;
int min = arr[0];
for (i = 1; i < 7; i++)
{
if (arr[i] < min)
min = arr[i];
}
return min;
}
int main()
{
int arr[7] = {0};
int a = 0;
printf("请输入各个评委评分:");
for (int a = 0; a < 7; a++)
{
scanf("%d", &arr[a]);
}
int sum = 0;
for (a = 0; a < 7; a++)
{
sum += arr[a];
}
printf("该选手的平均得分为:");
float end = (sum - get_max(arr) - get_min(arr)) / 5.000;
printf("%.3f\n", end);
return 0;
}