某班同学参加了高数、英语、Java语言、线性代数和物理5门课程的考试,假定成绩已经公布,请编写一个程序,通过键盘录入他们的成绩,并计算输出每位同学的课程最高分,最低分和平均分

某班同学参加了高数、英语、Java语言、线性代数和物理5门课程的考试,假定成绩已经公布,请编写一个程序,通过键盘录入他们的成绩,并计算输出每位同学的课程最高分,最低分和平均分

某班同学参加了高数、英语、Java语言、线性代数和物理5门课程的考试,假定成绩已经公布,请编写一个程序,通过键盘录入他们的成绩,并计算输出每位同学的课程最高分,最低分和平均分,以及每门课程的班级最高分、最低分和平均分。

java实训报告里的题目,本着能百度,绝不动手的原则,找了一圈,未果,然后,自己就动手打了两个小时。。。

代码如下:

package demo;

import java.util.Arrays;
import java.util.Scanner;

/*
 * @author 徐cheng
 * 测试数据为:
 * 	20 20 20 30 10  平均分为:20  最大值 30 最小值 10
	30 30 30 40 20  平均分为:30  最大值 40 最小值 20
 * 
 */
public class grade {
	public static void main(String[] args){
		Scanner x=new Scanner(System.in);
		System.out.print("请输入学生的人数:");//尽量小于一千人
		int a=x.nextInt();
		double[] math = new double[1000];//高数的数组,下面以此类推
		double[] english = new double[1000];
		double[] javaeee = new double[1000];
		double[] xiandai = new double[1000];
		double[] wuli = new double[1000];
		
		System.out.println("请录入数学的成绩(按学号录入)");
		for(int i =0;i<a;i++ ){
			System.out.println(i+1 +"号的成绩是:");
			math[i] = x.nextDouble();
		}
	System.out.println("请录入英语的成绩(按学号录入)");
		for(int i =0;i<a;i++ ){
			System.out.println(i+1 +"号的成绩是:");
			english[i] = x.nextDouble();
		}
		System.out.println("请录入java语言的成绩(按学号录入)");
		for(int i =0;i<a;i++ ){
			System.out.println(i+1 +"号的成绩是:");
			javaeee[i] = x.nextDouble();
		}
		System.out.println("请录入线性代数的成绩(按学号录入)");
		for(int i =0;i<a;i++ ){
			System.out.println(i+1 +"号的成绩是:");
			xiandai[i] = x.nextDouble();
		}
		
		System.out.println("请录入物理的成绩(按学号录入)");
		for(int i =0;i<a;i++ ){
			System.out.println(i+1 +"号的成绩是:");
			wuli[i] = x.nextDouble();
		}
		//数学最高分
		double mathmin = -34.5;
		double math1 = 34252.0;
		double math2 = 0.0;
		for(int i=0;i<a;i++){
			if(mathmin<math[i]){
				mathmin=math[i];
			}
			if(math1>math[i]){
				math1=math[i];
			}
			math2+=math[i];
		}
		System.out.println("数学科目的最高分为:"+mathmin+"最低分为: "+math1+"平均分为: "+math2/a);
		
		double englishmin = -34.5;
		double e1 =34252.0;
		double e2 = 0.0;
		for(int i=0;i<a;i++){
			if(englishmin<english[i]){
				englishmin=english[i];
			}
			if(e1>english[i]){
				e1=english[i];
			}
			e2+=english[i];
		}
		System.out.println("英语科目的最高分为:"+englishmin+"最低分为: "+e1+"平均分为: "+e2/a);
		
		double javamin = -34.5;
		double j1 =34252.0;
		double j2 = 0.0;
		for(int i=0;i<a;i++){
			if(javamin<javaeee[i]){
				javamin=javaeee[i];
			}
			if(j1>javaeee[i]){
				j1=javaeee[i];
			}
			j2+=javaeee[i];
		}
		System.out.println("java科目的最高分为:"+javamin+"最低分为: "+j1+"平均分为: "+j2/a);
		
		double xianmin = -34.5;
		double x1 =34252.0;
		double x2 = 0.0;
		for(int i=0;i<a;i++){
			if(xianmin<xiandai[i]){
				xianmin=xiandai[i];
			}
			if(x1>xiandai[i]){
				x1=xiandai[i];
			}
			x2+=xiandai[i];
		}
		System.out.println("线代科目的最高分为:"+xianmin+"最低分为: "+x1+"平均分为: "+x2/a);
		
		double wumin = -34.5;
		double w1 =34252.0;
		double w2 = 0.0;
		for(int i=0;i<a;i++){
			if(wumin<wuli[i]){
				wumin=wuli[i];
			}
			if(w1>wuli[i]){
				w1=wuli[i];
			}
			w2+=wuli[i];
		}
		System.out.println("物理科目的最高分为:"+wumin+"最低分为: "+w1+"平均分为: "+w2/a);
		
		//再接着就是整每位同学的成绩了
		double[][] stu = new double[100][20];//行代表着学生的学号,列对应学生每科的成绩
		for(int i =0;i<a;i++){
			for(int j =0;j<5;j++){
				if(j==0){
					stu[i][j]=math[i];
				}
				if(j==1){
					stu[i][j]=english[i];
				}
				if(j==2){
					stu[i][j]=javaeee[i];		
				}
				if(j==3){
					stu[i][j]=xiandai[i];
				}
				if(j==4){
					stu[i][j]=wuli[i];
				}
				
			}
		}
		
		//测试一下输出学号为一的孩,五门课的成绩,成功,开心
	/*	for(int i =0;i<5;i++){
			System.out.println(stu[1][i]+"\t");
		}*/
		double[] pp = new double[200];//放平均数的
		for(int i=0;i<pp.length;i++){//格式化一下
			pp[i]=0.0;
		}
		for(int i =0;i<a;i++){
			for(int j =0;j<5;j++){
				pp[i]=pp[i]+stu[i][j];//哈哈,然后每一列就是每一个学员的五门的总成绩啦
			}
		}
		for(int i =0;i<a;i++){
			System.out.println("学号为"+(i+1)+"的同学五门功课平均分为:"+(pp[i]/5)+"\t");
			
		}
		System.out.println();
		
		//最高分
		double[] maxx = new double[200];
		for(int i=0;i<maxx.length;i++){
			maxx[i]=-3434.0;
		}
		for(int i =0;i<a;i++){
			for(int j =0;j<5;j++){
				if(maxx[i]<stu[i][j]){
					maxx[i]=stu[i][j];
				}
			}
		}
		for(int i =0;i<a;i++){
			System.out.println("学号为"+(i+1)+"的同学最高分为:"+maxx[i]+"\t");
			
		}
		System.out.println();
		//最低分
		double[] minn = new double[200];//
		for(int i=0;i<minn.length;i++){
			minn[i]=3434.0;
		}
		for(int i =0;i<a;i++){
			for(int j =0;j<5;j++){
				if(minn[i]>stu[i][j]){
					minn[i]=stu[i][j];
				}
			}
		}
		for(int i =0;i<a;i++){
			System.out.println("学号为"+(i+1)+"的同学最低分为:"+minn[i]+"\t");
			
		}
		System.out.println();

	}
}

截图如下:

某班同学参加了高数、英语、Java语言、线性代数和物理5门课程的考试,假定成绩已经公布,请编写一个程序,通过键盘录入他们的成绩,并计算输出每位同学的课程最高分,最低分和平均分

 完美实现,然后,要想copy我的,请点个赞吧,顺便关注一波,谢谢~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114755.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 亚马逊跨境电商ERP_跨境电商铺货模式和精品模式

    亚马逊跨境电商ERP_跨境电商铺货模式和精品模式所谓跨境电商ERP,简单来说就是提高效率的工具,节省时间不用去做重复的事情跨境电商ERP系统:亚马逊erp,对接亚马逊、wish、ebay、速卖通、shopify、shopee虾皮、lazada等跨境电商平台。跨境电商ERP源码,跨境电商erp系统源码:亚马逊erp源码、wisherp源码、ebayerp源码、速卖通erp源码、shopifyerp源码、shopee虾皮erp源码、lazada来赞达erp源码。对接亚马逊、wish、ebay、速卖通、shopify、shopee虾皮、lazada等.

    2022年9月2日
    6
  • 微分是指什么_微分具体解释

    微分是指什么_微分具体解释微分的实际含义

    2022年8月4日
    9
  • idea202112激活码永久【在线注册码/序列号/破解码】

    idea202112激活码永久【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    39
  • 常用滤波器设计之低通滤波器、高通滤波器、带通滤波器、带阻滤波器

    常用滤波器设计之低通滤波器、高通滤波器、带通滤波器、带阻滤波器本文为转载内容,原文地址为点击打开链接。下两个滤波器都是切比雪夫I型数字滤波器,不是巴特沃尔滤波器,请使用者注意!1.低通滤波器使用说明:将下列代码幅值然后以m文件保存,文件名要与函数名相同,这里函数名:lowp。functiony=lowp(x,f1,f3,rp,rs,Fs)%低通滤波%使用注意事项:通带或阻带的截止频率的选取范围是不能超过采样率的一半%即,f1,f3的值都要小于Fs/…

    2022年6月2日
    29
  • MariaDB 10.5 与 MySQL Server 8.0 的区别

    MariaDB 10.5 与 MySQL Server 8.0 的区别子查询中应用不同一 查询结果集的列 在子查询的查询结果集表不同这个是我用到的表 CREATETABLE c num day day num int 11 NOTNULL PRIMARYKEY day num USINGBTREE INSERTINTO asd380 c num day day num VALUES 1 INSERTINTO asd380 c num day day num VALUES 2 INS

    2025年8月2日
    4
  • roboguide安装失败异常代码_ros安装教程unbuntu18.04

    roboguide安装失败异常代码_ros安装教程unbuntu18.04安装ROS时,报错:GPGerror:******isnotavailable:NO_PUBKEY******问题分析图片里的第三行提示信息:W:GPGerror:http://packages.ros.org/ros/ubuntuxenialInRelease:Thefollowingsignaturescouldn’tbeverifiedbeca…

    2022年10月10日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号