比赛评分时要求去掉最高分和最低分,然后对剩下的得分求平均值,现在有10个评委打分,需要你对输入的10个分数,去掉最高分和最低分后计算平均得分,并输出平均分。
[有帮助的话希望采纳一下,谢谢啦]
#include <iostream>
#include <algorithm> //使用sort函数要包含的头文件
using namespace std;
int main()
{
//定义一个数组储存分数、总分数和平均分
double score[10],sum = 0,aver = 0;
//初始化数组
for (int i = 0; i < 10; i++) {
score[i] = 0;
}
//输入10个分数
cout << "请输入10个分数:";
for (int i = 0; i < 10; i++) {
cin >> score[i];
}
//C++自带排序函数
sort(score, score + 10);
//排序后遍历
cout << "排序后:";
for (int i = 0; i < 10; i++) {
cout << score[i] <<" ";
}
cout << endl;
for (int i = 0; i < 10; i++) {
if (i != 0 && i != 9) {
sum += score[i];
}
}
aver = sum / 8;
cout << "平均分为 " << aver << endl;
return 0;
}
运行结果如下:
输入vector,省略了
vector<float> vv;
sort(vv.begin(),vv.end());
float s;
for(int i=1;i<vv.size()-1;i++)
s+=vv[i];
cout<<s/(vv.size()-2);