解题思路:
        

        不要打我!这题本来就不难,你肯定是嫌烦啦。


参考代码:

#include<iostream>
#include<cstring>
using namespace std;

    /* 返回最大的分数段 */
int Max(int A, int B, int C, int D, int E) {
	int Max = A;
	Max = Max > B ? Max : B;
	Max = Max > C ? Max : C;
	Max = Max > D ? Max : D;
	return Max > E ? Max : E;
}

int main() {
    /*    数据初始化     */
    
	int hash[101], num, temp, A, B, C, D, E;
	A = B = C = D = E = 0;
	memset(hash, 0, 101 * sizeof(int));
	
    /* 数据读入 */
	cin >> num;
	for (int i = 0; i < num; i++) {
		cin >> temp; hash[temp]++;
	}
        
    /* 数据统计 */
	for (int i = 0; i < 101; i++) {
		if (i < 60)	    E += hash[i];
		else if (i < 70)  D += hash[i];
		else if (i < 80)  C += hash[i];
		else if (i < 90)  B += hash[i];
		else			  A += hash[i];
	}
	
	/* 取范围 */
	int max = Max(A, B, C, D, E), start, end;
	if (max == A)		{ start = 90, end = 100; }
	else if (max == B)	 { start = 80, end =  89; }
	else if (max == C)	 { start = 70, end =  79; }
	else if (max == D)	 { start = 60, end =  69; }
	else if (max == E)	 { start =  0, end =  59; }

	cout << A << ' ' << B << ' ' << C << ' ' << D;
	cout << ' ' << E << endl << max << endl;
	
	/* 输出分数 */
	while (end >= start) {
		while (hash[end]) {
			cout << end << ' ';
			hash[end]--;
		}
		end--;
	}
	return 0;
}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论