题目:分析以下需求,并用代码实现
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 人
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循环的逻辑关系分清楚