原题链接:考试排名
import java.util.Scanner; class Stu{ String name; int nums; int times; } public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int t=sc.nextInt(); Stu []s=new Stu [10000]; int cnt=0,i=0;//学生人数 while(sc.hasNext()){ s[i]=new Stu(); s[i].name=sc.next(); s[i].nums=0; s[i].times=0; for (int j = 0; j < n; j++) { String Num=sc.next(); try { int a=Integer.parseInt(Num); if(a>0){ s[i].nums++; s[i].times+=a; } } catch (Exception e) { s[i].nums++; int index=Num.indexOf("("); int end=Num.indexOf(")"); s[i].times+=Integer.parseInt(Num.substring(0,index)); s[i].times+=Integer.parseInt(Num.substring(index+1,end))*t; } } i++; cnt=i; } for (i = 0; i < cnt-1; i++) { for (int j = 0; j < cnt-1; j++) { if(s[j].nums==s[j+1].nums&&s[j].times>s[j+1].times|| s[j].nums<s[j+1].nums|| s[j].nums==s[j+1].nums&&s[j].times==s[j+1].times&&s[j].name.compareTo(s[j+1].name)>0 ){ Stu temp=s[j]; s[j]=s[j+1]; s[j+1]=temp; } } } for(i=0;i<cnt;i++) System.out.printf("%-10s %2d %4d\n", s[i].name,s[i].nums,s[i].times ); sc.close(); } }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复