//输入100个学生信息(包含:学号、成绩、姓名),并按成绩由高到低排序输出
#include <stdio.h>
#define N 100
struct student //定义一个student 类型的结构体
{
int num;
float scor;
char name[20];
}stu[N];
void input(struct student a[])
{
int i;
for(i=0;i<N;i++)
scanf("%d,%f,%s",&a[i].num,&a[i].scor,a[i].name);
printf("\n");
}
void sort(struct student b[])
{
int i ,j;
struct student temp; //要定义相同类型的temp与之相匹配
for(i=0;i<N;i++)
{
for(j=i+1;j<N;j++)
{
if(b[i].scor<b[j].scor)
{
temp=b[j];
b[j]=b[i];
b[i]=temp;
}
}
}
}
void output(struct student c[])
{
int i;
for(i=0;i<N;i++)
{
printf("%d,%f,%s",&c[i].num,&c[i].scor,c[i].name); //字符串输入或者输出时不需要&
printf("\n");
}
}
int main()
{
input(stu);
sort(stu);
output(stu);
return 0;
}