题目描述
娜美所在的班级进行了数学考试,老师请娜美同学帮忙进行名次排序和各分数段的人数统计工作。
现要求如下:将N名同学的考试成绩放在A数组中,各分数段的人数存到B数组中:成绩为100的人数存到B[1]中,成绩为90到99的人数存到B[2]中,成绩为80到的89人数存到B[3]中,成绩为70到79的人数存到B[4]中,成绩为60到69的人数存到B[5] 中,成绩为60分以下的人数存到B[6]中。
输入
输入共有两行:
第一行:为娜美所在班级的人数 N(其中1≤N≤30);
第二行:为N个用1个空格隔开的数学分数(其中分数为100 及以内整数)。
输出
输出共有若干行:
前 N 行:每行一个整数是从高到低排序的数学分数;
最后一行:是6个按要求,存放到数组B[1]到B[6]中各分数段的人数(各数据之间 以1个空格为间隔)。
样例输入1
10
93 85 77 68 59 100 43 94 75 82
样例输出1
100
94
93
85
82
77
75
68
59
43
1 2 2 2 1 2
#include<iostream>
using namespace std;
#include<algorithm>
int main() {
int n;
cin >> n;
int a[35] = { 0 }, b[10] = { 0 };
for (int i = 0; i < n; i++) {
cin >> a[i];
if (a[i] == 100) {
b[1]++;
}
else if (a[i] >= 90) {
b[2]++;
}
else if (a[i] >= 80) {
b[3]++;
}
else if (a[i] >= 70) {
b[4]++;
}
else if (a[i] >= 60) {
b[5]++;
}
else {
b[6]++;
}
}
sort(a, a + n);
for (int i = n - 1; i >= 0; i--) {
cout << a[i] << endl;
}
for (int i = 1; i <= 6; i++) {
if (i != 1)cout << " ";
cout << b[i];
}
return 0;
}