期末考试结束了,童鞋们的成绩也出来的了,可是为了排名次可忙坏了老师,因为学生太多了。这时,老师把这个任务交给了你,希望你能帮老师完成。作为 IT人,你当然不能用笨笨的人工方法了,编程解决才是好办法。
共有三门课,语文、数学和英语,要求根据学生的各科成绩计算出其总成绩,并根据总成绩从高到低排序. 输入格式: 第一行一个整数N(N输出格式: 一共N行,每行一个数,从大到小,分别代表各个学生的总成绩.
输入样例:
3
70 80 90
59 59 59
100 100 100
输出样例:
300
240
177
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int[] a = new int[n+1];
for (int i=0;i<n;i++){
for (int j=0;j<3;j++){
int t = s.nextInt();
a[i] += t;
}
}
for(int i=0;i<n;i++){
for (int j=i+1;j<n;j++)
{
if(a[i]<a[j]){
int t;
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for (int i=0;i<n;i++){
System.out.println(a[i]);
}
}
}
还有一个更简单的代码
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int[] a = new int[n];
for(int i=0;i<n;i++) {
int x = s.nextInt();
int y = s.nextInt();
int z = s.nextInt();
a[i] = x+y+z;
}
Arrays.sort(a);//从小到大排序
for (int i=n-1;i>=0;i--){
System.out.println(a[i]);
}
}
}