二维数组

题目:分析以下需求,并用代码实现
1.基础班考试要进行分组,键盘录入该班级总共多少组?以及每组的学生数量?
2.根据录入的组数及每组学员的数量创建二维数组
3.利用随机数产生0-100的成绩(包含0和100)
4.要求:
(1)打印该班级中每组的不及格人数
(2)打印该班级中每组的平均分
(3)打印组的最高平均分
(4)打印班级中的不及格人数
(5)打印班级平均分
(6)演示格式如下:
请输入班级总组数:3
请输入班级中每组的人数:10
控制台输出:
第1组不及格人数为: 6 人
第1组平均分为: 52
第2组不及格人数为: 7 人
第2组平均分为: 46
第3组不及格人数为: 3 人
第3组平均分为: 69
班级中单组最高平均分为:69
班级中不及格人数为: 16 人

班级总平均分为: 56

import java.util.*;
public class T2 {
	public static void main (String[]args) {
		Scanner sc=new Scanner(System.in);
		System.out.print("请输入组数:");
		int g_num=sc.nextInt();
		int[][]arr=new int[g_num][];
		Random r=new Random();
		int max=0,temp=0,zfair=0,zscore=0,zavg=0,znum=0;
		for(int i=1;i<=g_num;i++) {
			System.out.print("请输入第"+i+"组人数:");
			int p_num=sc.nextInt();
			arr[i-1]=new int[p_num];
			int fair=0,zgroup=0;
			int gavg=0;
			
			for(int j=0;j<p_num;j++) {
				int grade=r.nextInt(101);
				arr[i-1][j]=grade;
				if(arr[i-1][j]<60) {
					fair++;
					zfair++;
				}
				znum++;
				zgroup+=grade;
				zscore+=grade;
				
				gavg=zgroup/p_num;
				
				
				System.out.print(arr[i-1][j]+" ");
			}
			if(max<gavg) {
				max=gavg;
			}
			
			
			System.out.println("第"+i+"组不及格人数为"+fair+"人");
			System.out.println("第"+i+"组平均分为"+gavg);
			
			
			
			//System.out.println();
		}
		zavg=zscore/znum;
		System.out.println("班级不及格人数为"+zfair);
		System.out.println("总成绩为"+zscore);
		System.out.println("班级平均分为"+zavg);
		System.out.println("组的最高平均分为"+max);
	//	System.out.println(znum);
		
		
		
		
		
		
		
	}
}

总结:主要涉及到二维数组的概念与操作,学会使用Scanner来实现控制台输入,也了解到Random函数的用法,各种参数的与for循环的逻辑关系分清楚
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值