定义一个学生结构体,含学号(一维字符数组)、姓名、成绩(整型)。从键盘输入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
#include <stdio.h>
struct students{
char num[200];
char name[100];
int grade;
};
int main(){
int i,j,k,min,n;
scanf("%d",&n);
struct students a[50],stu;
for(i=0;i<n;i++){
scanf("%s%s%d",a[i].num,a[i].name,&a[i].grade);
}
for(j=0;j<n-1;j++){
min=j;
for(k=j+1;k<n;k++){
if(a[k].grade<a[min].grade){
min=k;
}
}
stu=a[min];
a[min]=a[j];
a[j]=stu;
}
for(i=0;i<n;i++){
printf("%s %s %d\n",a[i].num,a[i].name,a[i].grade);
}
return 0;
}