求帮忙看看错在哪里,把输进去的数据从大到小排序

#include
#include

typedef struct student
{
char name[20];
int score;
}STU;

void sort(STU *aStu, int n)
{
int i,j;
int temp;
for(j=0;j {
for(i=0;i {
if(aStu[i].score>aStu[i+1].score)
{
temp=aStu[i].score;
aStu[i].score=aStu[i+1].score;
aStu[i+1].score=temp;
}
}
}
printf("学生成绩从大到小排序为:");
for(i=0;i<n;i++)
{
printf("%s,%d\n",aStu[i].name,aStu[i].score);
}
}

int main(void)
{
int i;
int num;
STU *aStu={0};
printf("请输入学生的人数:");
scanf("%d",&num);
printf("请输入学生的姓名及成绩:");
for(i=0;i<num;i++)
{
scanf("%s,%d",aStu[i].name,&aStu[i].score);
}
sort(aStu, num);

system("pause");
return 0;

}

第二个for循环应该是根据 j 的位置去做循环,就比如

 for(j=0;j<=9;j++) 
{ for (i=0;i<10-j;i++) 

网上冒泡排序很多代码的,仔细看看

可以好好看看冒泡排序算法