期末考试之排名次 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 期末考试结束了,童鞋们的成绩也出来的了,可是为了排名次可忙坏了老师,因为学生太多了。这时,老师把这个任务交给了你,希望你能帮老师完成。作为IT人,你当然不能用笨笨的人工方法了,编程解决才是好办法。 共有三门课,语文、数学和英语,要求根据学生的各科成绩计算出其总成绩,并根据总成绩从高到低排序。 Input 第一行一个整数N(N<=100),代表学生的人数。 接下来的N行数据,每行有三个整数,C,M,E分别代表一个学生语文、数学和英语的成绩。 Output 一共N行,每行一个数,从大到小,分别代表各个学生的总成绩。 Sample Input 3 70 80 90 59 59 59 100 100 100 Sample Output 300 240 177。
1 #include<stdio.h> 2 struct b 3 { 4 int shuwen; 5 int shuxue; 6 int yingyu; 7 int zong; 8 } student[100],t;//定义student结构体 9 int main() 10 { 11 int a,i,j,N; 12 while (scanf("%d",&N)!=EOF) 13 { 14 for (i = N; i > 0; i--) 15 { 16 scanf("%d%d%d", &student[i].shuwen, &student[i].shuxue, &student[i].yingyu); 17 student[i].zong = student[i].shuwen + student[i].shuxue + student[i].yingyu; 18 19 } 20 for (i = 1; i <= N - 1; i++){//由大到小排序 21 for (j = i + 1; j <= N; j++) 22 if (student[i].zong<student[j].zong) 23 { 24 t = student[i]; 25 student[i] = student[j]; 26 student[j] = t; 27 } 28 }//由大到小排序 29 30 for (i = 1; i <= N; i++) 31 { 32 printf("%d\n", student[i].zong); 33 } 34 return EOF; 35 } 36 return 0; 37 }
原文地址:https://www.cnblogs.com/52dxer/p/9879026.html
时间: 2024-11-08 22:35:11