原题链接:[编程入门]结构体之成绩统计2
解题思路:
注意事项:
参考代码:
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | 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); } } |
9.9 分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复