时玥41


私信TA

用户名:shiyue41

访问量:30326

签 名:

shiyue41

等  级
排  名 117
经  验 7888
参赛次数 0
文章发表 95
年  龄 0
在职情况 学生
学  校 WU
专  业

  自我简介:

一天不敲代码浑身难受。 ---------来自正在学算法的渣渣。

解题思路:

注意事项:

参考代码:

import java.util.*;
public class Main {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
		String count[]=new String[n];//学号+名字
		int sum[]=new int[n];//三科成绩总分
		int avg[]=new int[n];//计算平均成绩
		String num[]=new String[n];
		String name[]=new String[n];
		int chinese[]=new int[n];
		int math[]=new int[n];
		int English[]=new int[n];
		for(int i=0;i<n;i++) {
			num[i]=in.next();
			name[i]=in.next();
			chinese[i]=in.nextInt();
			math[i]=in.nextInt();
			English[i]=in.nextInt();
		}
		for(int i=0;i<n;i++) {
			count[i]=num[i]+" "+name[i];
			sum[i]=chinese[i]+math[i]+English[i];
		}
		for(int i=0;i<n;i++) {
			avg[i]=sum[i]/3;
		}
//		计算各功课平均成绩
//		chinese、math、English
		int chinese_avg=0;
		int math_avg=0;
		int English_avg=0;
		for(int i=0;i<n;i++) {
			chinese_avg+=chinese[i];
			math_avg+=math[i];
			English_avg+=English[i];
		}
		System.out.println(chinese_avg/n+" "+math_avg/n+" "+English_avg/n);

		//max储存最高分的学生的平均成绩
		int max=avg[0];
		for(int i=0;i<n;i++) {
			if(max<avg[i]) {
				max=avg[i];
		}
	}
//		映射(名字+学号:所有成绩)
		String score[]=new String[n];
		Map<String,String> map2=new HashMap<String, String>();
		for(int i=0;i<n;i++) {
			score[i]=(chinese[i]+" "+math[i]+" "+English[i]).toString();
			map2.put(count[i],score[i]);
		}
		String result="";
//		最高所有成绩
		for(int i=0;i<n;i++) {
			if(max==avg[i]) {
				result=(chinese[i]+" "+math[i]+" "+English[i]).toString();
			}
		}
		for(int i=0;i<n;i++) {
			if(map2.get(count[i]).equals(result)) {
				System.out.println(count[i]+" "+result);
			}
		}
	}
}


 

0.0分

0 人评分

  评论区

  • «
  • »