成绩计算实例

import java.util.Random;
import java.util.Scanner;

/*
 *   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 class Test02 {
    public static void main(String[] args) {

        Random r = new Random();
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入班级组数:");
        int group_num = sc.nextInt();

        System.out.println("请输入每组人数:");
        int group_stu_num = sc.nextInt();

        //定义班级数组
        int[][] class_arr = new int[group_num][group_stu_num];    

        //获取全班成绩
        for(int x=0; x<class_arr.length; x++) {
            for(int y=0; y<class_arr[x].length; y++) {
                class_arr[x][y] = r.nextInt(101);        //默认获得整数类型成绩
            }
        }
        System.out.println("--------------------------");
        for(int x=0; x<class_arr.length; x++) {    //遍历集合,获取实际成绩
            for(int y=0; y<class_arr[x].length; y++){
                System.out.print(class_arr[x][y] + " ");
            }
            System.out.println();
        }
        System.out.println("--------------------------");

        //计算不及格人数与总分
        int count = 0;            //每组不及格人数计算
        int sum = 0;            //每组总成绩计算
        float avr = 0;            //每组平均成绩计算

        int class_count = 0;    //全班不及格人数计算
        int class_sum = 0;        //全班总成绩计算
        float class_avr = 0;    //全班平均成绩计算

        float max = 0;        //每组最高平均分

        for(int x=0; x<class_arr.length; x++) {
            for(int y=0; y<class_arr[x].length; y++){
                sum += class_arr[x][y];        //计算每组的总成绩
                if(class_arr[x][y] < 60)    //计算每组的不及格人数
                    count++;
            }
            avr = (float)sum / group_stu_num;    //计算每组平均分
            System.out.print("第"  + (x+1) + "组不及格人数为:" + count + "  人。");
            System.out.println("\n第" + (x+1) + "组的平均分为:" + avr);

            if(max < avr)    max = avr;        //获取单组最高分

            class_count += count;        //计算班级总的不及格人数
            class_sum += sum;            //计算班级总成绩
            count = 0;
            sum = 0;
        }
        System.out.println("--------------------------");
        System.out.println("班级中单组最高平均分为:" + max);//计算班级平均分

        class_avr = (float)class_sum / (group_num * group_stu_num);
        System.out.print("班级中不及格人数:" + class_count+ "  人。");
        System.out.println("\n班级总平均分:" + class_avr);        //疑问:float型输出怎么保留一位小数

    }
}
时间: 2024-12-26 14:39:22

成绩计算实例的相关文章

子网计算实例

划分子网方法: 1.你所选择的子网掩码将会产生多少个子网?:2 的x 次方(x 代表掩码位数) 2.每个子网能有多少主机?: 2 的y 次方-2(y 代表主机位数) 3.有效子网是?:有效子网号=256-10 进制的子网掩码(结果叫做block size 或base number) 4.每个子网的广播地址是?:广播地址=下个子网号-1 5.每个子网的有效主机分别是?:忽略子网内全为0 和全为1 的地址剩下的就是有效主机地址. 最后有效1 个主机地址=下个子网号-2(即广播地址-1) C类地址例子

angular学习笔记(五)-阶乘计算实例(1)

<!DOCTYPE html> <html ng-app> <head> <title>2.3.2计算阶乘实例1</title> <meta charset="utf-8"> <script src="../angular.js"></script> <script src="script.js"></script> </

angular学习笔记(五)-阶乘计算实例(2)

<!DOCTYPE html> <html ng-app> <head> <title>2.3.3计算阶乘实例2</title> <meta charset="utf-8"> <script src="../angular.js"></script> <script src="script.js"></script> </

华为云全新计算实例C6、S6商用,智能加速“引擎”再度开启

华为云全新计算实例C6.S6商用,智能加速"引擎"再度开启近年来,人工智能的快速发展给云计算能力带来新的挑战,数据与训练的指数级增长激发了对算力巨大的需求.同时,随着数字世界向智能世界的转变,行业"+智能"开始成为各行各业构建竞争力的关键所在.4月3日,华为2019"+智能,计算进化 FusionServer Pro 智能服务器"新品发布会举办.在会上,华为云宣布国内首个搭载新一代英特尔?至强?Cascade Lake处理器以及华为自研高性能智能

PAT_B_1077_互评成绩计算

题目描述: 在浙大的计算机专业课中,经常有互评分组报告这个环节.一个组上台介绍自己的工作,其他组在台下为其表现评分.最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G?1?? :老师给这个组的评分记为 G?2?? .该组得分为 (G?1?? +G?2?? )/2,最后结果四舍五入后保留整数分. 本题就要求你写个程序帮助老师计算每个组的互评成绩. 输入格式: 输入第一行给出两个正整数 N(> 3)和 M,分别是分组数和满分,均不超过 100

PTA乙级(1077 互评成绩计算 (20分),(C++取整)

C++取整 头文件:#include <cmath> 1 #include<iostream> 2 #include<cmath> 3 using namespace std; 4 int main() 5 { 6 double a=2.5; 7 cout<<ceil(a)<<endl; //向上取整 8 cout<<floor(a)<<endl; //向下取整 9 cout<<round(a)<<

向MapReduce转换:通过部分成绩计算矩阵乘法

代码共分为四部分: <strong><span style="font-size:18px;">/*** * @author YangXin * @info 封装共现关系列 */ package unitSix; import java.io.IOException; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.mapreduce.Mapper; import org.apa

angular学习笔记(五)-阶乘计算实例(3)

同样是上一个例子,我们要求并非实时的计算结果,而是等到用户确定自己已经输入完毕,然后进行计算: <!DOCTYPE html> <html ng-app> <head> <title>2.3.4计算阶乘实例3</title> <meta charset="utf-8"> <script src="../angular.js"></script> <script sr

PTA(Basic Level)1077.互评成绩计算

在浙大的计算机专业课中,经常有互评分组报告这个环节.一个组上台介绍自己的工作,其他组在台下为其表现评分.最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G1:老师给这个组的评分记为 G2.该组得分为 (G1+G2)/2,最后结果四舍五入后保留整数分.本题就要求你写个程序帮助老师计算每个组的互评成绩. 输入格式: 输入第一行给出两个正整数 N(> 3)和 M,分别是分组数和满分,均不超过 100.随后 N 行,每行给出该组得到的 N 个分数