解题思路:

注意事项:

参考代码:

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

class student{
	//学号、姓名、三科
	String id;
	String name;
	int a;
	int b;
	int c;
}
public class 结构体之成绩记录 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
/*题目 1050: [编程入门]结构体之成绩记录
时间限制: 1Sec 内存限制: 128MB 提交: 9461 解决: 5387
题目描述
现有有N个学生的数据记录,每个记录包括学号、姓名、三科成绩。 编写一个函数input,用来输入一个学生的数据记录。
 编写一个函数print,打印一个学生的数据记录。 在主函数调用这两个函数,读取N条记录输入,再按要求输出。 N<100*/
		Scanner scanner=new Scanner(System.in);
		int n=scanner.nextInt();
		student [] stur=new student[n];
		for (int i = 0; i < stur.length; i++) {
			stur[i]=new student();
			stur[i].id=scanner.next();
			stur[i].name=scanner.next();
			stur[i].a=scanner.nextInt();
			stur[i].b=scanner.nextInt();
			stur[i].c=scanner.nextInt();
		}
		//85 75 65
		//1 blue 90 80 70
		int a1=0,b2=0,c3=0;
		for (student a : stur) {
			a1+=a.a;
			b2+=a.b;
			c3+=a.c;
		}
		System.out.println(a1/n+" "+b2/n+" "+c3/n);
		Arrays.sort(stur,new Comparator<student>() {

			@Override
			public int compare(student arg0, student arg1) {
				// TODO Auto-generated method stub
				return (arg0.a+arg0.b+arg0.c)/3>(arg1.a+arg1.b+arg1.c)/3?1:-1;
			}
		});
		System.out.println(stur[n-1].id+" "+stur[n-1].name+" "+stur[n-1].a+" "+stur[n-1].b+" "+stur[n-1].c);
	}

}


点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论