校园歌手大赛新规则-PTA

BUPT大一上习题

北邮VC++实验题 校园歌手大赛新规则

题目描述

8号选手参加校园歌手大赛,编程读入20个整数(0 - 100之间)并存入数组中做为评委打分。最后得分计算规则:先计算20个数的平均分,然后去掉所有与平均分相差10分以上的分数,最后把剩下的分数再取平均做为最后得分。如果没有剩下分数,此次打分无效。

输入格式

输入20个整数。

输出格式

输出三行,具体详见输出样例。

样例

样例输入 #1

1
86 87 83 70 99 94 78 89 86 80 97 84 90 87 95 87 84 99 84 95

样例输出 #1

1
2
3
所有评委平均分:87.700分.
不合格得分:70 99 99.
最后得分:87.412分.

样例输入 #2

1
72 72 73 71 71 72 73 71 71 72 98 98 97 100 99 97 97 99 99 99

样例输出 #2

1
2
3
所有评委平均分:85.050分.
不合格得分:72 72 73 71 71 72 73 71 71 72 98 98 97 100 99 97 97 99 99 99.
无合格打分.

解答

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <cstring>
#include <bitset>
#include <cmath>
using namespace std;
int main()
{
    int zzz=1;
    double a[20],sum=0,total=20,sum2=0;
    for(int i=0;i<20;i++)
    {
        cin>>a[i];
        sum+=a[i];
    }
    sum/=20;
    printf("所有评委平均分:%.3lf分.\n",sum);
    cout<<"不合格得分:";
    for(int i=0;i<20;i++)
    {
        if(fabs(a[i]-sum)>10.00){
            if(zzz==1){cout<<a[i];zzz=0;total-=1;}
            else{cout<<" "<<a[i];total-=1;}
        }
        else sum2+=a[i];
    }
    cout<<"."<<endl;
    if(total==0){cout<<"无合格打分.";return 0;}
    printf("最后得分:%.3lf分.",sum2/total);
}
Progress Infinite!
使用 Hugo 构建
主题 StackJimmy 设计