期末考试之排名次
Time Limit: 1000MS Memory limit: 65536K
题目描述
期末考试结束了,童鞋们的成绩也出来的了,可是为了排名次可忙坏了老师,因为学生太多了。这时,老师把这个任务交给了你,希望你能帮老师完成。作为IT人,你当然不能用笨笨的人工方法了,编程解决才是好办法。
共有三门课,语文、数学和英语,要求根据学生的各科成绩计算出其总成绩,并根据总成绩从高到低排序。
输入
第一行一个整数N(N<=100),代表学生的人数。
接下来的N行数据,每行有三个整数,C,M,E分别代表一个学生语文、数学和英语的成绩。
接下来的N行数据,每行有三个整数,C,M,E分别代表一个学生语文、数学和英语的成绩。
输出
一共N行,每行一个数,从大到小,分别代表各个学生的总成绩。
示例输入
3 70 80 90 59 59 59 100 100 100
示例输出
300 240 177
#include <stdio.h> #include <string.h> #include <algorithm> struct listt { int yu; int shu; int ying; int sum; }; struct listt boy[110]; int main() { int i,n; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d %d %d",&boy[i].yu,&boy[i].shu,&boy[i].ying); boy[i].sum=boy[i].yu+boy[i].shu+boy[i].ying; } int j,l; int a; for(j=0;j<n-1;j++) { for(l=j;l<n-j-1;l++) { if(boy[l].sum>boy[l+1].sum) { a=boy[l].sum; boy[l].sum=boy[l+1].sum; boy[l+1].sum=a; } } } for(i=n-1;i>=0;i--) { printf("%d\n",boy[i].sum); } return 0; }