编写Java程序根据输入的学生学号,按照规则结成学习小组

题目内容

为了促进互帮互相,决定成立学习小组。小组结伴的规则是这样的先将学号按升序排列,排在最前的一个人和排在最后的那个人结成同伴,排在第2个的与排在倒数第2个的结成同伴,依次类推,2个一组成同伴。

输入格式

第一行是一个整数n,表明n个同学。(2<=n<=50,n为偶数) 。 第二行n个整数表明n个同学的学号,学号之间有一个空格,学号是无序输入的。
如果输入的学生数是奇数,则输出提示信息“odd number”

输出格式

共n/2行,每行二个整数,表明结伴同学的学号,两个学号之间有一个空格。

案例代码

以下是一个 Java 程序,用于根据输入的学生学号,按照规则结成学习小组:

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

public class StudyGroup {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // 读取学生数量
        int n = scanner.nextInt();
        if (n % 2 != 0) {
            System.out.println("odd number");
            return;
        }
        
        // 读取学生学号
        int[] studentIDs = new int[n];
        for (int i = 0; i < n; i++) {
            studentIDs[i] = scanner.nextInt();
        }
        
        // 对学号进行升序排序
        Arrays.sort(studentIDs);
        
        // 结伴输出
        for (int i = 0; i < n / 2; i++) {
            System.out.println(studentIDs[i] + " " + studentIDs[n - i - 1]);
        }
        
        scanner.close();
    }
}

这个程序首先读取输入的学生数量 n,然后读取 n 个学生的学号。如果学生数量是奇数,则输出提示信息并结束程序。然后对学号进行升序排序。根据题目规则,从排序后的学号数组中取出对应位置的学号,依次输出结伴的学号。

© 版权声明
THE END
喜欢就支持一下吧
点赞8赞赏 分享