C++ 评委打分程序 - 去掉最高最低分并排序输出
#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++ 语言实现评委打分程序。输入评委人数和每个评委的打分,程序将去除最高分和最低分,计算剩余分数的平均值,并按从小到大排序输出剩余分数。
程序说明:
- 首先定义一个整型变量
n表示评委人数,并使用cin从标准输入读取n的值。 - 定义一个
vector<double>类型的变量scores来存储每个评委的打分,并使用cin读取所有评委的打分。 - 使用
sort函数对scores向量进行升序排序。 - 定义一个
double类型的变量sum来存储去除最高分和最低分后剩余分数的总和。使用for循环遍历scores向量,从第二个元素到倒数第二个元素(即去除最高分和最低分),并将每个元素的值累加到sum中。 - 定义一个
double类型的变量average来存储去除最高分和最低分后剩余分数的平均值,使用sum除以n-2计算得到。 - 使用
cout输出average的值,表示平均分。 - 使用
for循环遍历scores向量,从第二个元素到倒数第二个元素,并将每个元素的值输出到标准输出,每个元素之间用空格隔开。
示例:
输入: 5 94 98.5 99 97 92
输出: 96.5 94 97 98.5
原文地址: https://www.cveoy.top/t/topic/i5kQ 著作权归作者所有。请勿转载和采集!