Advertisement

上海计算机学会C++丙组T2评委打分

阅读量:

题目描述

在许多竞赛中,为了计算选手的得分平均值,通常会先剔除一个最高分,再剔除一个最低分,以此来减少极端值对整体平均数的干扰。

假设有 n 个数值 a1, a2, ⋯, an,代表某位选手所获得的各项分数,请依据上述步骤计算其最终得分。

需要特别说明的是,若存在多个分数同时处于最高或最低位置,则仅移除其中一个最高分和一个最低分。

输入格式

第一行给出一个单独的整数 n;
第二行包含 n 个整数,依次表示为 a1、a2、…、an。

输出格式

一个浮点数值用于表示最终得分,该数值经过四舍五入处理,仅保留两位小数位。

数据范围

  • 针对 50%50% 的数据集,其规模范围为 3≤n≤1000;
    • 对于 100%100% 的数据集,其规模范围为 3≤n≤100000;
    • 每个数据元素的取值范围限定在 0≤ai≤20000。

样例数据展示

5
100 1 20 30 40

输出:

30.00

说明:

(20+30+40)/3=30.00

解析:

本题的核心在于识别数据中的最高数值与最低数值,随后将总和减去这两个极端值,再计算剩余数值的平均值,并确保结果保留两位小数。具体实现方式如下:

复制代码
 #include <iostream>

    
 #i

全部评论 (0)

还没有任何评论哟~