1. 程式人生 > >結構體:按成績排序

結構體:按成績排序

Description
定義一個學生結構體,含學號(一維字元陣列)、姓名、成績(整型)。從鍵盤輸入n(n<20),再輸入n個學生的資訊,按學生成績從小到大順序輸出學生資訊。

Input
輸入一個n,接著輸入n個學生的資訊。

Output
按成績從小到大順序輸出學生資訊。

Sample Input
4
1001
Li
76
1002
Zhang
92
1003
Liu
85
1004
Wang
70

Sample Output
1004 Wang 70
1001 Li 76
1003 Liu 85
1002 Zhang 92

sort函式,結構體時的運用

#include<stdio.h> 
#include<algorithm> 
using namespace std; 
struct st{ 
  char a[100]; 
  char name[100]; 
  int score; 
}s[22]; 
int comp(const st &s1,const st &s2){ 
   return s1.score<s2.score; 
} 
int main(){ 
    int n; 
    scanf("%d",&n); 
    for(int i=0;i<n;i++){ 
        scanf("%s",s[i].a); 
        scanf("%s",s[i].name); 
        scanf("%d",&s[i].score); 
    } 
    sort(s,s+n,comp); 
    for(int i=0;i<n;i++){ 
    printf("%s %s %d\n",s[i].a,s[i].name,s[i].score);} 
}