Java—期末考试之排名次
Description
期末考试结束了,童鞋们的成绩也出来的了,可是为了排名次可忙坏了老师,因为学生太多了。这时,老师把这个任务交给了你,希望你能帮老师完成。作为IT人,你当然不能用笨笨的人工方法了,编程解决才是好办法。
共有三门课,语文、数学和英语,要求根据学生的各科成绩计算出其总成绩,并根据总成绩从高到低排序。
Input
第一行一个整数N(N<=100),代表学生的人数。
接下来的N行数据,每行有三个整数,C,M,E分别代表一个学生语文、数学和英语的成绩。
Output
一共N行,每行一个数,从大到小,分别代表各个学生的总成绩。
Sample
Input
3
70 80 90
59 59 59
100 100 100
Output
300
240
177
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner reader = new Scanner(System.in);
int i, n, j, a, b, c, temp;
n = reader.nextInt();
int s[] = new int[110];// 这里的数组空间多开,如果开的大小正好等于n,则可能发生数组越界的可能
for (i = 0; i < n; i++) {
a = reader.nextInt();
b = reader.nextInt();
c = reader.nextInt();
s[i] = a + b + c;
}
for (i = 0; i < n; i++) {
for (j = i + 1; j < n; j++) {
if (s[i] < s[j]) {
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
}
for (i = 0; i < n - 1; i++) {
System.out.println(s[i]);
}
System.out.print(s[n - 1]);
}
}