陈旺


私信TA

用户名:cw0824ly

访问量:9697

签 名:

等  级
排  名 121
经  验 7544
参赛次数 2
文章发表 61
年  龄 18
在职情况 学生
学  校 湖北生物科技职业学院
专  业

  自我简介:

TA的其他文章

解题思路:先用数组获取输入的分数,再判断这些分数放在对应等级的二维数组中,打印等级的各数组长度,判断出等级人数最多的数组,打印该数组

注意事项:注意最后的降序排列

参考代码:

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

public class Main{

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*
		 * 给定一个百分制成绩T,将其划分为如下五个等级之一: 90~100为A,80~89为B,70~79为C,60~69为D,0~59为E
		 * 现有若干百分制成绩
		 * (成绩个数不超过1000个),请你统计五个等级段的人数,并找出人数最多的那个等级段,按照从大到小的顺序输出该段中所有人成绩
		 * (保证人数最多的等级只有一个)。 输入 第一行是成绩的个数 n 第二行是学生的成绩,若干0~100的正整数,用空格隔开
		 * 
		 * 输出 第一行为5个正整数,分别表示A,B,C,D,E五个等级段的人数 第二行一个正整数,表示人数最多的等级段中人数
		 * 接下来一行若干个用空格隔开的正整数,表示人数最多的那个等级中所有人的分数,按从大到小的顺序输出
		 */
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int[] arr = new int[n];
		for (int i = 0; i < n; i++) {
			arr[i] = scanner.nextInt();
		}
		int [][] a = new int [5][];
		
		int a1 = 0, b = 0, c = 0, d = 0, e = 0;
		
		for (int i : arr) {
			if (i >= 90 && i <= 100) {
				
				a1++;
			}
			if (i >= 80 && i <= 89) {
			
				b++;
			}
			if (i >= 70 && i <= 79) {
			
				c++;
			}
			if (i >= 60 && i <= 69) {
			
				d++;
			}
			if (i >= 0 && i <= 59) {
			
				e++;
			}
		}
		a[0]=new int[a1];
		a[1]=new int[b];
		a[2]=new int[c];
		a[3]=new int[d];
		a[4]=new int[e];
		a1 = 0; b = 0; c = 0; d = 0; e = 0;
		for (int is : arr) {
			if (is >= 90 && is <= 100) {
				a[0][a1] = is;
				a1++;
			}
			if (is >= 80 && is <= 89) {
				a[1][b] = is;
				b++;
			}
			if (is >= 70 && is <= 79) {
				a[2][c] =is;
				c++;
			}
			if (is >= 60 && is <= 69) {
				a[3][d] = is;
				d++;
			}
			if (is>= 0 && is <= 59) {
				a[4][e] = is;
				e++;
			}
		}
		int[] count = { a1, b, c, d, e };
		Arrays.sort(count);
		for (int i = 0; i < 5; i++) {
			System.out.print(a[i].length + " ");
				if (i==4) {
					System.out.print("\n");
				}
			}
		for (int j = 0; j < 5; j++) {
			if (a[j].length == count[count.length - 1]) {
				System.out.println(count[count.length-1]);
				Arrays.sort(a[j]);
				for (int jk = a[j].length-1; jk >=0 ; jk--) {
					System.out.print(a[j][jk] + " ");
				}
			}
		}
		

	}

}


 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区