校园歌手大赛新规则-PTA
BUPT大一上习题 校园歌手大赛新规则

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

题目描述

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

输入格式

输入20个整数。

输出格式

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

样例

样例输入 #1

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

样例输出 #1

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

样例输入 #2

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

样例输出 #2

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

解答

#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);
}

最后修改于 2023-10-24