无法对数据进行排序
#include <stdio.h>
#include <stdlib.h>
typedef struct Student{
int num;
char name[20];
char sex;
float score;
};
void sort(Student a[],int n)
{
int i,j;
Student temp;
for(i=0;i<n-1;i++)
for(j=0;j<n-1-1;j++)
if(a[j].score<a[j+1].score)
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
int main()
{
Student stu[3];
int i;
for(i=0;i<3;i++)
scanf("%d%s%*c%c%f",&stu[i].num,&stu[i].name,&stu[i].sex,&stu[i].score);
sort(stu,3);
for(i=0;i<3;i++)
printf("%d %s %c %f\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].score);
return 0;
}

void sort(Student a[],int n)
{
int i,j;
Student temp;
for(i=0;i<n-1;i++)
//n-1-1改成n-i-1
for(j=0;j<n-i-1;j++)
if(a[j].score<a[j+1].score)
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
结构体不能直接用=赋值,需要对结构体里面的每个元素分别赋值