[ブルーブリッジカップ]スコア統計
6276 ワード
タイトルの説明
パーセンテージ成績Tが与えられ、以下の5つの等級の1つに分けられる.
90~100はA、80~89はB、70~79はC、60~69はD、0~59はE
いくつかのパーセンテージ制の成績(成績の個数は1000個を超えない)があります.5つの等級の人数を統計して、人数が最も多い等級の区間を見つけて、大きい順から小さい順にその区間のすべての人の成績を出力してください(人数が最も多い等級は1つしかありません).
入力
1行目は成績の個数n 2行目は学生の成績で、0~100の正の整数をいくつか、スペースで区切る
しゅつりょく
第1の行為の5つの正の整数、それぞれA、B、C、D、Eの5つの等級の段の人数を表します
2行目は正の整数で、人数が最も多い等級セグメントの人数を表します.
次の行には、スペースで区切られた正の整数がいくつかあり、人数が最も多いレベルのすべての人の点数を表し、大きい順から小さい順に出力されます.
サンプル入力
サンプル出力
転載先:https://www.cnblogs.com/zuimeiyujianni/p/10476209.html
パーセンテージ成績Tが与えられ、以下の5つの等級の1つに分けられる.
90~100はA、80~89はB、70~79はC、60~69はD、0~59はE
いくつかのパーセンテージ制の成績(成績の個数は1000個を超えない)があります.5つの等級の人数を統計して、人数が最も多い等級の区間を見つけて、大きい順から小さい順にその区間のすべての人の成績を出力してください(人数が最も多い等級は1つしかありません).
入力
1行目は成績の個数n 2行目は学生の成績で、0~100の正の整数をいくつか、スペースで区切る
しゅつりょく
第1の行為の5つの正の整数、それぞれA、B、C、D、Eの5つの等級の段の人数を表します
2行目は正の整数で、人数が最も多い等級セグメントの人数を表します.
次の行には、スペースで区切られた正の整数がいくつかあり、人数が最も多いレベルのすべての人の点数を表し、大きい順から小さい順に出力されます.
サンプル入力
10
100 80 85 77 55 61 82 90 71 60
サンプル出力
2 3 2 2 1
3
85 82 80
#include
#include
#include<string>
#include
using namespace std;
int score[1001];
int level[5];
char Le(int s)
{
if(s>=90 && s<=100) return 'A';
if(s>=80 && s<=89) return 'B';
if(s>=70 && s<=79) return 'C';
if(s>=60 && s<=69) return 'D';
if(s>=0 && s<=59) return 'E';
return 'Z';//error
}
int cmp(int x,int y)
{
return x>y;
}
int main(void)
{
int n;
cin >> n;
for(int i=0;i)
{
cin >> score[i];
level[Le(score[i])-'A']++;
}
sort(score,score+n,cmp);
int pos = 0;
for(int i=0;i<5;i++)
{
if(level[i]>level[pos]) pos=i;
cout << level[i];
if(i!=4) cout << " ";
else cout << endl;
}
cout << level[pos]<<endl;
int sum = 0;
for(int i=0;ilevel[i];
for(int i=sum;i)
{
cout << score[i];
if(i!=sum+level[pos]-1) cout << " ";
}
return 0;
}
転載先:https://www.cnblogs.com/zuimeiyujianni/p/10476209.html