1. 程式人生 > >期末考試之排名次

期末考試之排名次

std 根據 turn printf print ati 求根 結構 pro

期末考試之排名次
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 }

  


  



期末考試之排名次