Java 分数统计

问题描述

给定一个百分制成绩T,将其划分为如下五个等级之一:
  90~ 100为A,80~ 89为B,70~ 79为C,60~ 69为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 Test {
    public static int grade(int x){//确定当前输入的x在那个成绩段
        if (90<=x&&x<=100){
            return 1;
        }else if(80<=x&&x<=89){
            return 2;
        }else if(70<=x&&x<=79){
            return 3;
        }else if(60<=x&&x<=69){
            return 4;
        }
        return 5;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        String []a = s.split(" ");
        int []arr = new int[a.length];
        for (int i = 0; i < a.length; i++) {
            arr[i] = Integer.parseInt(a[i]);
        }
        int []A = new int[a.length];
        int []B = new int[a.length];
        int []C = new int[a.length];
        int []D = new int[a.length];
        int []E = new int[a.length];
        int count1 = 0;
        int count2 = 0;
        int count3 = 0;
        int count4 = 0;
        int count5 = 0;
        for (int i =0;i max){//找出人数最多的等级
            max = count2;
            name = 2;
        }else if (count3 > max){
            max = count3;
            name = 3;
        }else if (count4 > max){
            max = count4;
            name = 4;
        }else if (count5 > max){
            max = count5;
            name = 5;
        }
        System.out.println(max);
        if (name == 1){//找出人数最多的等级段,并按照题意输出
            Arrays.sort(A);
            for (int i =a.length-1;i>=a.length-count1;i--){
                System.out.print(A[i]+" ");
            }
        }else if (name == 2){
            Arrays.sort(B);
            for (int i =a.length-1;i>=a.length-count2;i--){
                System.out.print(B[i]+" ");
            }
        }else if (name == 3){
            Arrays.sort(C);
            for (int i =a.length-1;i>=a.length-count3;i--){
                System.out.print(C[i]+" ");
            }
        }else if (name == 4){
            Arrays.sort(D);
            for (int i =a.length-1;i>=a.length-count4;i--){
                System.out.print(D[i]+" ");
            }
        }else if (name == 5){
            Arrays.sort(E);
            for (int i =a.length-1;i>=a.length-count5;i--){
                System.out.print(E[i]+" ");
            }
        }
    }
}

你可能感兴趣的:(Java 分数统计)