从大到小或者从小到大排序----冒泡排序---双重循环i,j
比较的时候用的是
排序的时候用的是整体 stu [ j+1 ] 和 stu [ j ]
我写错为下面这个,交换的只是学生的出生日期,没有交换整体
#include<stdio.h>
#include<string.h>
struct student{
char name[10];
int birth;
char tale[21];
}stu[10],stu1;
int main()
{
int i,j,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s %d %s",stu[i].name,&stu[i].birth,stu[i].tale);
}
for( i=0;i<n-1;i++)
{
for( j=0;j<n-i-1;j++)
{
if(stu[j].birth>stu[j+1].birth)
{
stu1=stu[j];
stu[j]=stu[j+1];
stu[j+1]=stu1;
}
}
}
for(i=0;i<n;i++)
{
printf("%s %d %s\n",stu[i].name,stu[i].birth,stu[i].tale);
}
return 0;
}