《java》学生成绩统计从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:

阅读: 评论:0

《java》学生成绩统计从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:

《java》学生成绩统计从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:

《java》学生成绩统计从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,分别实现下列功能:

.学生成绩统计
从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,输入结束,分别实现下列功能:
(1)统计不及格人数并打印不及格学生名单;
(2)统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单;
(3)统计各分数段的学生人数及所占的百分比。
第2学期第2次实验
二维数组和函数综合编程练习
1.成绩排名次
某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30人参加考试。考试后要求:
(1)计算每个学生的总分和平均分;
(2)按总分成绩由高到低排出成绩的名次;
(3)打印出名次表,表格内包括学生编号、各科分数、总分和平均分;
(4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。
【思考题】 请读者思考如下问题。
① 如果增加一个要求:要求按照学生的学号由小到大对学号、成绩等信息进行排序,那么程序如何修改呢?
② 如果要求程序运行后先打印出一个菜单,提示用户选择:成绩录入、成绩排序、成绩查找,在选择某项功能后执行相应的操作,那么程序如何修改呢?

import java.util.Scanner;public class task {double score[][]=new double[30][3];double stuNum;int sno[]=new int[30];int rank[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29};double sum[]=new double[30];double aver[]=new double[30];//设置学号和各科成绩public void setSonAndScore(){System.out.println("Enter No. and score as: MT  EN  PH");Scanner input=new Scanner(System.in);for(int i=0;i<stuNum;i++){sno[i]&#Int();for(int j=0;j<3;j++){score[i][j]&#Double();}}}//设置学生人数public void setStuNum(){System.out.println("Please enter the total number of the students(n<=30):");Scanner input=new Scanner(System.in);this.stuNum&#Double();}//计算总分public void setSum(){for(int i=0;i<stuNum;i++){this.sum[i]=score[i][1]+score[i][2]+score[i][0];}}//计算平均分public void setAver(){for(int i=0;i<stuNum;i++){this.aver[i]= sum[i]/3.0;}}//计算排名public void ranking(){double forRank[]=new double[30];forRank= sum;for(int i=0;i<stuNum-1;i++){for(int j=0;j<=stuNum-i-1;j++){if(forRank[j]<forRank[j+1]){double temp=forRank[j];forRank[j]=forRank[j+1];forRank[j+1]=temp;int temp2;temp2=rank[j];rank[j]=rank[j+1];rank[j+1]=temp2;}}}}//查询public void query(){int pos;System.out.println("Please enter searching number:");Scanner input=new Scanner(System.in);int tSno&#Int();System.out.println("position NO      MT    EN    PH    SUM    AVER");System.out.println("----------------------------------------------");for(pos=0;pos<stuNum;++pos){if(sno[pos]==tSno)break;}for (int k=0;k<stuNum;k++){if (rank[k]==pos){System.out.print(++k);System.out.print("     ");System.out.print(sno[rank[k]]);System.out.print(" ");for(int j=0;j<3;j++){System.out.print(score[rank[k]][j]);System.out.print("  ");}System.out.print(sum[rank[k]]+"  "+ aver[rank[k]]);System.out.println("");}}}//打印排名public void print(){System.out.println("NO      MT    EN    PH    SUM    AVER");System.out.println("-------------------------------------------");for(int i=0;i<stuNum;i++){System.out.print(sno[rank[i]]);System.out.print(" ");for(int j=0;j<3;j++){System.out.print(score[rank[i]][j]);System.out.print("  ");}System.out.print(sum[rank[i]]+"  "+ aver[rank[i]]);System.out.println("");}}public static void main(String args[]){task t=new task();t.setStuNum();t.setSonAndScore();t.setSum();t.setAver();System.out.println("Before sort");t.print();System.out.println("After sort:");t.ranking();t.print();t.query();}
}

本文发布于:2024-01-29 18:09:42,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170652298217320.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:成绩   负值   最多   学生   不超过
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23