需要的拿走,喜欢的评论支持一下!!!
附加题(选做)
------------------------------------------------------------------
第二题:分析以下需求,并用代码实现
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
public static void main(String[] args) {
// 键盘录入定义组数为X,每一组人数为Y
Scanner sc = new Scanner(System.in);
// 创建随机数对象
Random r = new Random();
// 首先定义一个二维数组
System.out.println("请输入班级总组数:");
int x = sc.nextInt();
System.out.println("请输入班级中每组的人数:");
int y = sc.nextInt();
int[][] arr = new int[x][y];
// 统计班级不及格的人数
int count = 0;
//定义班级人数
int clsscount = 0;
// 定义一个sum变量记录班级的总分 ,可以求平均分
int sum = 0;
int i;
int max = 0;
for (i = 0; i < arr.length; i++) {
// 定义一个变量求每组的总分
int groupSum = 0;
int j;
// 每组不及格的人数
int groupcount = 0;
for (j = 0; j < arr[i].length; j++) {
// 录入成绩
int score = r.nextInt(100) + 1;
// 给每个学生录入成绩
arr[i][j] = score;
//遍历出给个学生的分数
//System.out.println("arr"+"["+i+"]["+j+"]"+"的分数"+arr[i][j]);
clsscount++;
// 这是每一组的总分
groupSum += score;
if (score < 60 && score >= 0) {
// 每组不及格的人数
groupcount++;
}
}
// 每组的平均分
int groupAvg = groupSum / j;
System.out.println("第" + (i + 1) + "组不及格人数为:" + groupcount+"人");
System.out.println("第" + (i + 1) + "组平均分为:" + groupAvg);
if (max < groupAvg) {
max = groupAvg;
}
// 班级的总分
sum += groupSum;
// 班级不及格的人数
count += groupcount;
}
// 这是班级平均分
int clssAvg =sum /clsscount;
System.out.println("班级中单组最高平均分为:" + max);
System.out.println("班级中不及格人数为:" + count);
System.out.println("班级总平均分为:" + clssAvg);
}
|
|