#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++)
网上冒泡排序很多代码的,仔细看看
可以好好看看冒泡排序算法