Java实现 蓝桥杯VIP 算法提高 分数统计

算法提高 分数统计
时间限制:1.0s 内存限制:512.0MB

问题描述
  2016.4.5已更新此题,此前的程序需要重新提交。
问题描述
  给定一个百分制成绩T,将其划分为如下五个等级之一:
  90100为A,8089为B,7079为C,6069为D,0~59为E
  现在给定一个文件inp,文件中包含若干百分制成绩(成绩个数不超过100),请你统计五个等级段的人数,并找出人数最多的那个等级段,按照从大到小的顺序输出该段中所有人成绩(保证人数最多的等级只有一个)。要求输出到指定文件oup中。
输入格式
  若干0~100的正整数,用空格隔开
输出格式
  第一行为5个正整数,分别表示A,B,C,D,E五个等级段的人数
  第二行一个正整数,表示人数最多的等级段中人数
  接下来一行若干个用空格隔开的正整数,表示人数最多的那个等级中所有人的分数,按从大到小的顺序输出。
样例输入
100 80 85 77 55 61 82 90 71 60
样例输出
2 3 2 2 1
3
85 82 80

import java.util.Arrays;
import java.util.Scanner;


public class 分数统计 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String s = sc.nextLine();
		String[] ss = s.split(" ");
		int n = ss.length;
		int [] sz  =new int [n];
		int a=0;
		int b=0;
		int c=0;
		int d=0;
		int e=0;
		for (int i = 0; i < n; i++) {
			sz[i]=Integer.valueOf(ss[i]);
			if(sz[i]<=100&&sz[i]>=90){
				a++;
			}else if(sz[i]<=89&&sz[i]>=80){
				b++;
			}else if(sz[i]<=79&&sz[i]>=70){
				c++;
			}else if(sz[i]<=69&&sz[i]>=60){
				d++;
			}else if(sz[i]<=59&&sz[i]>=0){
				e++;
			}
		}
		System.out.println(a+" "+b+" "+c+" "+d+" "+e);
		System.out.println(Math.max(Math.max(Math.max(Math.max(a,b),c), d), e));
		Arrays.sort(sz);
		if(Math.max(Math.max(Math.max(Math.max(a,b),c), d), e)==a){
			for (int i = sz.length-1; i >=0 ; i--) {
				if(sz[i]>=90){
					System.out.print(sz[i]+" ");
				}
			}
		}else if(Math.max(Math.max(Math.max(Math.max(a,b),c), d), e)==b){
			for (int i = sz.length-1; i >=0 ; i--) {
				if(sz[i]>=80 && sz[i]<90){
					System.out.print(sz[i]+" ");
				}
			}
		}else if(Math.max(Math.max(Math.max(Math.max(a,b),c), d), e)==c){
			for (int i = sz.length-1; i >=0 ; i--) {
				if(sz[i]>=70 && sz[i]<80){
					System.out.print(sz[i]+" ");
				}
			}
		}else if(Math.max(Math.max(Math.max(Math.max(a,b),c), d), e)==d){
			for (int i = sz.length-1; i >=0 ; i--) {
				if(sz[i]>=60 && sz[i]<70){
					System.out.print(sz[i]+" ");
				}
			}
		}else if(Math.max(Math.max(Math.max(Math.max(a,b),c), d), e)==e){
			for (int i = sz.length-1; i >=0 ; i--) {
				if(sz[i]<60){
					System.out.print(sz[i]+" ");
				}
			}
		}
	}

}

原文地址:https://www.cnblogs.com/a1439775520/p/13078861.html