[求助]请高手指教
通过过个结构体数组来存储5个学生姓名和成绩,按照成绩的降充对这个结构体数组进行排序。显示前3名的成绩。
#include <stdio.h>
struct list
{
unsigned char name[10];
int result;
};
typedef struct list listnode;
void sort(listnode *data,int len)
{
int i,temp,j,k;
unsigned char temp2[10];
for(i=len-1;i>0;i--)
{
for(j=0;j<i;j++)
{
if(data[j].result<data[j+1].result)
{
temp=data[j+1].result;
data[j+1].result=data[j].result;
data[j].result=temp;
strcpy(temp2,data[j+1].name);
strcpy(data[j+1].name,data[j].name);
strcpy(data[j].name,temp2);
}
}
}
}
main()
{
listnode data[5]={{"aa",67},{"bb",98},{"cc",87},{"dd",90},{"ee",82}};
int index=5;
int i;
sort(data,index);
for(i=0;i<3;i++)
{
printf("%s\t%d\n",data[i].name,data[i].result);
}
printf("\n");
getch();
}