1. 题目来源
链接:分数段统计
2. 题目说明
3. 题目解析
方法一:空格处理+常规解法
题目非常简单,做这个题是为了练习下 C
风格的题目,话说这当年要求输出用空格将输出的数字或字符串隔开这个问题,就是末尾加了个空格,难了我 10 几分钟没想到优秀的解法。现在回想起来也是满满的乐趣。
参见代码如下:
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[35] = {0}, b[10]= {0}, n = 0;
cin >> n;
for (int i = 0; i < n; ++i) {
cin >> arr[i];
}
for (int i = 0; i < n; ++i) {
if (arr[i] == 100) ++b[1];
if (arr[i] <= 99 && arr[i] >= 90) ++b[2];
if (arr[i] <= 89 && arr[i] >= 80) ++b[3];
if (arr[i] <= 79 && arr[i] >= 70) ++b[4];
if (arr[i] <= 69 && arr[i] >= 60) ++b[5];
if (arr[i] < 60) ++b[6];
}
sort(arr, arr + n);
for (int i = n - 1; i >= 0; --i) {
cout << arr[i] << endl;
}
for (int i = 1; i <= 6; i++) {
// 不输出末尾空格的方法
if (i != 1) {
cout << " ";
}
cout << b[i];
}
return 0;
}