#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    int n;
    cin >> n;
    
    vector<double> scores(n);
    
    for (int i = 0; i < n; i++)
    {
        cin >> scores[i];
    }
    
    sort(scores.begin(), scores.end());
    
    double sum = 0;
    for (int i = 1; i < n - 1; i++)
    {
        sum += scores[i];
    }
    
    double average = sum / (n - 2);
    
    cout << average << endl;
    
    for (int i = 1; i < n - 1; i++)
    {
        cout << scores[i] << ' '; // 将空格替换为单引号
    }
    
    return 0;
}

本程序使用 C++ 语言实现评委打分程序。输入评委人数和每个评委的打分,程序将去除最高分和最低分,计算剩余分数的平均值,并按从小到大排序输出剩余分数。

程序说明:

  1. 首先定义一个整型变量 n 表示评委人数,并使用 cin 从标准输入读取 n 的值。
  2. 定义一个 vector<double> 类型的变量 scores 来存储每个评委的打分,并使用 cin 读取所有评委的打分。
  3. 使用 sort 函数对 scores 向量进行升序排序。
  4. 定义一个 double 类型的变量 sum 来存储去除最高分和最低分后剩余分数的总和。使用 for 循环遍历 scores 向量,从第二个元素到倒数第二个元素(即去除最高分和最低分),并将每个元素的值累加到 sum 中。
  5. 定义一个 double 类型的变量 average 来存储去除最高分和最低分后剩余分数的平均值,使用 sum 除以 n-2 计算得到。
  6. 使用 cout 输出 average 的值,表示平均分。
  7. 使用 for 循环遍历 scores 向量,从第二个元素到倒数第二个元素,并将每个元素的值输出到标准输出,每个元素之间用空格隔开。

示例:

输入: 5 94 98.5 99 97 92

输出: 96.5 94 97 98.5

C++ 评委打分程序 - 去掉最高最低分并排序输出

原文地址: https://www.cveoy.top/t/topic/i5kQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录