题目描述: 为歌唱比赛设计一个评分系统,规则如下: 共有n名评委给分(0~100分,整数),要求去掉一个最高分,去掉一个最低分,剩余成绩的平均分为最终得分。 输入一个正整数n(3≤n≤10),表示有n个评委,输入n个成绩,输出最终得分。 输入格式:第一行输入一个正整数n(3≤n≤10),第二行输入每位评委给分,用空格分隔。 输出格式:输出最终得分,结果保留两位小数。 示例: 输入:5 70 75 80 85 90 输出:80.00
#include<stdio.h>
void BubbleSort(int n, int a[1000]) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n - 1; j++) {
if (a[j] > a[j + 1]) {
int t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
} //冒泡排序
int main() {
int a[1000], b[1000] = { 0 }, n;
scanf("%d", &n);
for (int i = 0; i < n; i++)scanf("%d", &a[i]);
BubbleSort(n, a); //对评分进行排序
for (int i = 1; i < n - 1; i++)b[i] = a[i];
double average;
int sum = 0;
for (int i = 0; i < n; i++)
sum += b[i];
average = sum / (double)(n - 2);
printf("%.2f", average);
return 0;
}