49、 结构体应用
有10个学生的信息(学号、姓名、成绩),要求按照成绩的高低顺序输出各学生的信息
#include<stdio.h>
struct STUDENT
{
int num ;
char name[20] ;
float grade ;
} ;
int main ()
{
struct STUDENT t ;/*这里要定义成struct类型,不能是int,不然无法进行运算,因为不是同一种类型的*/
struct STUDENT s[10] ;
for ( int i = 0 ; i < 10 ; i ++ )
{
scanf("%d %s %f",&s[i].num , s[i].name , &s[i].grade );
}
for ( int i = 0 ; i < 10 ; i ++ )
{
for ( int j = i + 1 ; j < 10 ; j ++ )
{
if ( s[i].grade < s[j].grade )
{
t = s[i] ;
s[i] = s[j] ;
s[j] = t ;
}
}
}
for ( int i = 0 ; i < 10 ; i ++ )
{
printf("%d %s %.2f\n",s[i].num , s[i].name , s[i].grade);
}
return 0;
}
//输入:
1 q 1
2 w 2
3 e 3
4 r 4
5 t 5
6 y 6
7 u 7
8 i 8
9 o 9
10 p 10
//输出:
10 p 10.00
9 o 9.00
8 i 8.00
7 u 7.00
6 y 6.00
5 t 5.00
4 r 4.00
3 e 3.00
2 w 2.00
1 q 1.00