有N个学生,每个学生的数据包括学号、姓名、3门课的成绩, 从键盘输入N个学生的数据,要求打印出3门课的总平均成绩, 以及最高分的学生的数据(包括学号、姓名、3门课成绩) 输入 学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。 输出 各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩)
这个题其实我一看刚开始也感觉很懵,但是不要紧,我们写代码的第一步一般都是先弄懂题目的基本目的, 一般情况下我如果弄不懂题的意思的话我几乎都不下手,因为如果题读不懂的话根本就别下手,这根本就是浪费了时间, 接下来先看代码吧
import java.util.Scanner; public class L1051 { public static void main(String[] args) { String number,name; int sum1 = 0,sum2 = 0,sum3 = 0; Scanner m=new Scanner(System.in); int N=m.nextInt(); int b[]=new int [N]; int a[]=new int [3]; String [] strArray = new String [N]; for(int i=0;i<N;i++) { number=m.next(); name=m.next(); a[0]=m.nextInt(); a[1]=m.nextInt(); a[2]=m.nextInt(); strArray[i]=number+" "+name+" "+a[0]+" "+a[1]+" "+a[2]; sum1+=a[0]; sum2+=a[1]; sum3+=a[2]; b[i]=a[0]+a[1]+a[2]; } int max=b[0],count = 0; for(int j=0;j<N;j++) if(b[j]>max) { int temp=b[j]; b[j]=max; max=temp; count=j; } System.out.println(sum1/N+" "+sum2/N+" "+sum3/N); System.out.println(strArray[count]); } }
这代码我写的比较的简单,应该都可以看得懂,如果有什么疑问的话,欢迎提问,谢谢!!!
0.0分
0 人评分