top1编程
← 返回题目
题解

【入门】歌唱比赛评分

1 条题解

  • 0
    @ 2026-7-30 1:34:13

    解题思路

    先求总分、最高分和最低分,减去最高分与最低分后计算平均分。

    参考代码

    // 先读入题目给出的数据。
    // 再按照题目要求进行计算。
    // 最后按规定格式输出答案。
    #include <iostream>
    #include <iomanip>
    using namespace std;
    int main() {
        int n, a[10], sum = 0, mx = 0, mn = 10;
        cin >> n;
        // 读入分数,同时求总分、最高分和最低分。
        for (int i = 0; i < n; i++) { cin >> a[i]; sum += a[i]; if (a[i] > mx) mx = a[i]; if (a[i] < mn) mn = a[i]; }
        // 去掉一个最高分和一个最低分,再计算平均分。
        cout << fixed << setprecision(2) << (double)(sum - mx - mn) / (n - 2) << endl;
        return 0;
    }
    

    复杂度分析

    排序需要 O(n^2) 时间;其余循环按照实际遍历次数计算。代码使用固定大小数组,额外空间复杂度为 O(1) 或 O(n)。

    • 1