1 -「季淳卿」统计3个班成绩情况,每个班有5名同学, 求出各个班的平均分,和所有班级的平均分[学生的成绩从键盘输入]。统计三个班及格人数,每个班有 5 个人。

1 -「季淳卿」统计3个班成绩情况,每个班有5名同学, 求出各个班的平均分,和所有班级的平均分[学生的成绩从键盘输入]。统计三个班及格人数,每个班有 5 个人。,第1张

生命太短暂,所以不能空手走过,你必须对某样东西倾注你的深情 —— 朱棣文

西西里岛

题目:(测试多重循环练习)

统计3个班成绩情况,每个班有5名同学, 求出各个班的平均分,和所有班级的平均分[学生的成绩从键盘输入]。统计三个班及格人数,每个班有 5 个人。

过程一:
import java.util.Scanner;

public class Text {
    public static void main(String[] args) {

        /**
         * 1.统计3个班成绩情况,
         * 每个班有5名同学,
         * 求出各个班的平均分
         * 和所有班级的平均分[学生的成绩从键盘输入]。
         */
        int people;//人数
        int sum = 0;//总成绩
        int average = 0;//每均分

        int people2;//每班人数
        int sum2 = 0;//每班总成绩
        int average2 = 0;//每班平均分

        int people3;//每班人数
        int sum3 = 0;//每班总成绩
        int average3 = 0;//每班平均分

        Scanner myscanner = new Scanner(System.in);
        for (people = 1; people <= 5; people++) {
            System.out.println("请输出1的学生成绩:");
            int soce = myscanner.nextInt();
            sum += soce;
            average=sum/5;
        }
        System.out.println("1班-总和是:"+sum);
        System.out.println("1班-平均数是:"+average);

        Scanner myscanner2 = new Scanner(System.in);
        for (people2 = 1; people2 <= 5; people2++) {
            System.out.println("请输入2班的学生成绩:");
            int soce2 = myscanner2.nextInt();
            sum2 += soce2;
            average2=sum2/5;
        }
        System.out.println("2班-总和是:"+sum2);
        System.out.println("2班-平均数是:"+average2);

        Scanner myscanner3 = new Scanner(System.in);
        for (people3 = 1; people3 <= 5; people3++) {
            System.out.println("请输入3班的学生成绩:");
            int soce3 = myscanner3.nextInt();
            sum3 += soce3;
            average3=sum3/5;
        }
        System.out.println("3班-总和是:"+sum3);
        System.out.println("3班-平均数是:"+average3);

        int suoyou = (sum+sum2+sum3)/15;

        System.out.println("三个班级的平均数"+suoyou);

    }
}
过程二
import java.util.Scanner;

public class Text {
    public static void main(String[] args) {

        /**
         * 1.统计3个班成绩情况,
         * 每个班有5名同学,
         * 求出各个班的平均分
         * 和所有班级的平均分[学生的成绩从键盘输入]。
         * 统计三个班及格人数,每个班有 5 个人
         */
        int people;//人数
        double average = 0;//每均分
        double allsum = 0;//所有班级总成绩
        double allaverage = 0;//所有班级总平均数
        int totalNumber = 5;//班级总人数
        int alltotalNumber = 3;//所有班级人数
        int allpass = 0;


        for (int i = 1; i <= alltotalNumber; i++) {//外循环 = 三个班级

            int sum = 0;//总成绩
            System.out.println("=============================");
            Scanner myscanner = new Scanner(System.in);
            for (people = 1; people <= totalNumber; people++) {// 小循环 = 五个学生
                System.out.println("请输出" + i + "班" + people + "号学生成绩:");
                Double soce = myscanner.nextDouble();
                if (soce >= 60 && soce <= 100) {//判断是否及格
                    allpass++;//及格+1
                }
                System.out.println("成绩为:" + soce);
                sum += soce;
                average = sum / totalNumber;
            }
            System.out.println(i + "班-总和是 = " + sum);
            System.out.println(i + "班-平均数是 = " + average);
            allsum += sum;//(把sum累计到allsum)计算三个班级的总成绩
        }
        allaverage = allsum / (totalNumber * alltotalNumber);//计算三个班级的总和
        System.out.println("三个班级总的平均数 = " + allaverage);
        System.out.println("三个班级的及格人数 = " + allpass);

    }
}
过程三、(细节推到-老韩)
import java.util.Scanner;
public class MulForExercise01 {
//编写一个 main 方法
public static void main(String[] args) {
//统计 3 个班成绩情况,每个班有 5 名同学,
//求出各个班的平均分和所有班级的平均分[学生的成绩从键盘输入]。
//统计三个班及格人数,每个班有 5 名同学。
//
//思路分析:
//化繁为简
//(1) 先计算一个班 , 5 个学生的成绩和平均分 , 使用 for
//1.1 创建 Scanner 对象然后,接收用户输入
//1.2 得到该班级的平均分 , 定义一个 doubel sum 把该班级 5 个学生的成绩累积
//(2) 统计 3 个班(每个班 5 个学生) 平均分
//(3) 所有班级的平均分
//3.1 定义一个变量,double totalScore 累积所有学生的成绩
//3.2 当多重循环结束后,totalScore / (3 * 5)
//(4) 统计三个班及格人数
//4.1 定义变量 int passNum = 0; 当有一个学生成绩>=60, passNum++
//4.2 如果 >= 60 passNum++
//(5) 可以优化[效率,可读性, 结构]
//创建 Scanner 对象
Scanner myScanner = new Scanner(System.in);
double totalScore = 0; //累积所有学生的成绩
int passNum = 0;//累积 及格人数
int classNum = 3; //班级个数
int stuNum = 5;//学生个数
for( int i = 1; i <= classNum; i++) {//i 表示班级
double sum = 0; //一个班级的总分
for( int j = 1; j <= stuNum; j++) {//j 表示学生
System.out.println("请数第"+i+"个班的第"+j+"个学生的成绩");
double score = myScanner.nextDouble();
//当有一个学生成绩>=60, passNum++
if(score >= 60) {
passNum++;
}
sum += score; //累积
System.out.println("成绩为" + score);
}
//因为 sum 是 5 个学生的总成绩
System.out.println("sum=" + sum + " 平均分=" + (sum / stuNum));
//把 sum 累积到 totalScore
totalScore += sum;
}
System.out.println("三个班总分="+ totalScore
+ " 平均分=" + totalScore / (classNum*stuNum));
System.out.println("及格人数=" + passNum);
}
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/788921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存