【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