用一维数组存储学号和成绩,然后,按成绩排序输出

public class Main {
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()){
            int n = sc.nextInt();

            int [] number = new int[n];
            int [] grade = new int[n];

            for(int i=0; i<n; i++){
                number[i] = sc.nextInt();
                grade[i] = sc.nextInt();
            }

            //冒泡排序,进行比较
            for(int i=0; i<n; i++){
                for(int j=0; j<n-i-1; j++){
                    if(grade[j] > grade[j+1]){
                        
                        int tem1 = grade[j+1];
                        grade[j+1] = grade[j];
                        grade[j] = tem1;

                        int tem2 = number[j+1];
                        number[j+1] = number[j];
                        number[j] = tem2;
                    }else if(grade[j] == grade[j+1]){
                        if (number[j] > number [j+1]){
                            int tem3 = number[j+1];
                            number[j+1] = number[j];
                            number[j] = tem3;

                        }

                    }
                }
            }

            for(int i=0;i<n;i++){
                System.out.println(number[i]+" "+grade[i]);
            }

        }
        sc.close();


    }


}
发布了10 篇原创文章 · 获赞 0 · 访问量 333

猜你喜欢

转载自blog.csdn.net/Esther_Lee/article/details/105038710