【JAVA】【作业向】第一题:本学期一班级有n名学生,m门课程。现要求对每门课程的成绩进行统计:平均成绩、最高成绩、最低成绩,并统计考试成绩的分布律。



1.预备知识:动态数组Array实现

2.解题过程需要理解的知识:吧唧吧唧吧唧吧唧
不想做了 就用了最简单的方法 和c语言类似
java版本

`import java.util.Scanner;

/.本学期一班级有n名学生,m门课程。现要求对每门课程的成绩进行统计:平均成绩、最高成绩、最低成绩,并统计考试成绩的分布律。/

public class HOME7 {

public static void main(String[] args) {

	

	Scanner sc = new Scanner(System.in);

	System.out.println("输入学生数量(n):");

	int stu_num= sc.nextInt();

	System.out.println("输入课程数量(m):");

	int object_num = sc.nextInt() ;

	

	int[][] Stu_Score = new int [stu_num][object_num];

	System.out.println("依次输入课程成绩(0-100):");

	for(int i = 0;i<stu_num;i++) {

		for(int j = 0;j<object_num;j++) {

		  System.out.printf("第%d个学生的第%d个课程成绩录入:",i+1,j+1);

		  Stu_Score[i][j] = sc.nextInt();

		  if(Stu_Score[i][j]<0 || Stu_Score[i][j]>100)

		  {

			  System.out.printf("录入失败,重新录入此次成绩");

			  j--;

			  

		  }

		        

	}

}

	

	ARGE(Stu_Score,stu_num,object_num);//平均值

	TOP(Stu_Score,stu_num,object_num);//最高成绩

	MINIMUM(Stu_Score,stu_num,object_num);//最低成绩

	ANALYSE(Stu_Score,stu_num,object_num);//分布(不及格(<=59)一般(60-79)良好(80-89)优秀(90-100))

	

	sc.close();



}

//每科的平均值

public static double ARGE(int[][] stu,int X,int Y) {

	

	int[] num = new int[X];

	for(int i = 0;i<Y;i++) {

		for(int j = 0;j<X;j++) {

			num[i] += stu[j][i];

		  

		}

		System.out.printf("第%d科的平均成绩:",i+1);

		System.out.println((double)num[i]/X); 

	}

	

	

	return 0;

	

}

//最高成绩

public static double TOP(int[][] stu,int X,int Y) {

	

		int temp = 0;

		int[] top = new int[Y];

		for(int i = 0;i<Y;i++) {

			

			for(int j = 0;j<X;j++) {

				if(stu[j][i]>temp) {

					temp = stu[j][i];

				}

				top[i] = temp;

			}

		}

		for(int h:top) {

			System.out.println("每科最高成绩:"+h);

		}

		return 0;

	

}

//最低成绩

public static double MINIMUM(int[][] stu,int X,int Y) {

	int temp = stu[0][0];

	int[] top = new int[Y];

	for(int i = 0;i<Y;i++) {

		

		for(int j = 0;j<X;j++) {

			if(stu[j][i]<temp) {

				temp = stu[j][i];

			}

			top[i] = temp;

		}

	}

	for(int h:top) {

		System.out.println("每科最低成绩:"+h);

	}

	return 0;

	

}

public static double ANALYSE(int[][] stu,int X,int Y) {

	int[] failed = new int[X];

	int[] general = new int[X];

	int[] good = new int[X];

	int[] outstanding = new int[X];

	for(int i = 0;i<Y;i++) {

		for(int j = 0;j<X;j++) {

			if(stu[j][i]<60) {

				failed[i]++;

				

			}

			else if(stu[j][i]<80) {

				general[i]++;

			}

			else if(stu[j][i]<90) {

				good[i]++;

			}

			else if(stu[j][i]<101) {

				outstanding[i]++;

			}

		  

		}

		

	}

	for(int k = 0;k<Y;k++)

	{

		System.out.printf("第%d科不及格人数:%d\n",k+1,failed[k]);

		System.out.printf("第%d科一般人数:%d\n",k+1,general[k]);

		System.out.printf("第%d科良好人数:%d\n",k+1,good[k]);

		System.out.printf("第%d科优秀人数:%d\n",k+1,outstanding[k]);

	}

	

	

	return 0;

	

}

}
`


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输人10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数) 有一个班4个学生,5门课程 1求第1门课程的平均分; 2找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩; 3找出平均成绩在90分以上或全部课程成绩在85分以上的学生。4分别编3个函数实现以上3个要求。 Excel 考试成绩分数段统计 学生成绩表数据包括:学号,姓名,高数,英语和计算机三门课成绩,计算每个学生总分,每课程平均分,最高分和最低分 if语句实现考试成绩划分 C/C++语言入门——输出学生成绩(平均成绩、最高成绩、最低成绩) 输人10个学生5门课的成绩,分别用函数实现下列功能:①计算每个学生的平均分; ②计算每门课的平均分; ③找出所有50个分数中最高的分数所对应的学生和课程; ④计算平均分方差: 其中,x;为某一学生的平均分。 第一题:有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘积吗? 【C语言】利用文本编辑软件在磁盘上建立一个有n个学生的学号、姓名及英语、数学和计算机三门课程成绩的数据文件。编写程序将数据文件读入,且求出每个学生的平均成绩。 从键盘输入若干个同学的成绩,统计并输出最高成绩 最低成绩 平均分,当输入负数时结束输入
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM