C++实验——参赛歌手计算平均分问题:去掉一个最高分,去掉一个最低分,将剩下分数的平均值作为选手的最后成绩。这里假设共有10位评委,都是按照百分制打分。
2018-03-24 15:54
8687 查看
话不多说,先上我写的代码然后讨论://歌唱大赛选手成绩计算
//去掉一个最高分,去掉一个最低分,将剩下分数的平均值作为选手的最后成绩。这里假设共有10位评委,都是按照百分制打分。
#include <iostream>
#include <string>
const int Arsize = 10;
int main()
{
using namespace std;
string caption("the score is invalid.\n");
int score[Arsize];
int sum = 0;
double average;
for (int i = 0; i < Arsize; i++) cin >> score[i];
int max = score[0];
int min = score[0];
for (int j = 0; j < Arsize; j++)
{
if (score[j] > max)
max = score[j];
if (score[j] <min)
min = score[j];
}
for (int n = 0; n < Arsize; n++)
{
if (score
< 0 || score
>100)
{
cout << caption;
return 0;
}
else
{
sum += score
;
}
}
average = (sum - max - min) / 8.0;
cout << average << endl;
return 0;
}编译通过了,但是总感觉傻傻的,用了很多for语句,执行效率感觉不高,
求最值也可以通过这个库函数实现:
#include<algorithm>
int max = *max_element(score, score + 10);
int min = *min_element(score, score + 10);
诸位有何高见请不吝赐教
//去掉一个最高分,去掉一个最低分,将剩下分数的平均值作为选手的最后成绩。这里假设共有10位评委,都是按照百分制打分。
#include <iostream>
#include <string>
const int Arsize = 10;
int main()
{
using namespace std;
string caption("the score is invalid.\n");
int score[Arsize];
int sum = 0;
double average;
for (int i = 0; i < Arsize; i++) cin >> score[i];
int max = score[0];
int min = score[0];
for (int j = 0; j < Arsize; j++)
{
if (score[j] > max)
max = score[j];
if (score[j] <min)
min = score[j];
}
for (int n = 0; n < Arsize; n++)
{
if (score
< 0 || score
>100)
{
cout << caption;
return 0;
}
else
{
sum += score
;
}
}
average = (sum - max - min) / 8.0;
cout << average << endl;
return 0;
}编译通过了,但是总感觉傻傻的,用了很多for语句,执行效率感觉不高,
求最值也可以通过这个库函数实现:
#include<algorithm>
int max = *max_element(score, score + 10);
int min = *min_element(score, score + 10);
诸位有何高见请不吝赐教
相关文章推荐
- 问题六十八: 在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。 选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。
- 在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接返平均
- 跳水比赛,8个评委打分。运动员的成绩是8个成绩去掉一个最高分, 去掉一个最低分,剩下的6个分数的平均分就是最后得分。 使用一维数组 2.请把打最高分的评委和最低分的评委找出来。 3.找出最佳评委
- Problem Description 青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。 Input 输入数据有多组,每组占一行,每行的第一个数是n(2<n<=100),表示评委的人数,然后是n个评委的打分。 O
- C++要求n(n>= 3)个评委打分,去掉最高分和最低分,剩余n-2个得分的平均值为选手得分
- 'VB编程 编写一个竞赛评分的函数过程。评委打分为参数(数组参数),选手得分为函数值。记分规则为:去掉一个最高分,去掉一个最低分,然后求平均。调用该函数,由键盘输入5个评委的打分(存放在数组中),输出
- C语言编程:青年歌手参加歌曲大奖赛,有10个评委打分(满分10分),去掉最高最低分后,试编程求选手的平均得分
- 七个评委打分,去掉一个最高分,去掉一个最低分,最终得平均分
- c++实现一个打分算法(去掉最低分和最高分求平均值)
- 评委打分问题---去掉两个最高分,两个最低分,求平均分
- 编写一个程序,读入个数不确定的(<=100个)考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输入一个负数表示输入的结束。假设成绩的最高分为10分。
- 4. 编写一个程序,读入9个裁判所打的分数,去掉一个最高分,去掉一个最低分,求剩余7个分数的平均值(要求用数组实现)。
- 1.已知接口ComputerAverage,和主类Estimator,编写程序完成SongGame和School类。SongGame类能够根据歌手得分去掉一个最高分,去掉一个最低分,计算其余得分的平均
- C语言程序设计:10个评委打分,去掉一个最低分和一个最高分,输出平均分
- 在一个长度为10的整型数组里面,保存了班级10个学生的考试成绩。要求编写5个函数,分别实现计算考试的总分,最高分,最低分,平均分和考试成绩降序排序
- 计算考核系统超出10人评分后去掉10%最高最低分的平均分
- 评委打分去掉最高最低求平均
- 计算考试成绩的总分,最高分,最低分,平均分以及成绩的排名算法
- 去掉一个最高分和最低分求平均值
- 有一个一维数组,内放10个学生成绩,写一个函数当主函数调用此函数后嫩求出平均分、最高分和最低分