c语言 多重排序
经过了两天,终于会了。
#include<stdio.h>
#include<string.h>
struct A
{
char name[100];
int gread;
} stu[100];
void fact(int n)
{
int i,j,teap;
char w[100];
for(i=1;i<=n;i++)
for(j=2;j<=n;j++)
{
if(stu[j-1].gread>stu[j].gread)
teap=stu[j-1].gread,stu[j-1].gread=stu[j].gread,stu[j].gread=teap;
else
{
if(strcmp(stu[j-1].name,stu[j].name)>0)
strcpy(w,stu[j-1].name),strcpy(stu[j-1].name,stu[j].name),strcpy(stu[j].name,w);
}
}
}
int main()
{
int n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%s",&stu[i].name);
scanf("%d",&stu[i].gread);
}
fact(n);
for(i=1;i<=n;i++)
printf("%s\n",stu[i].name);
return 0;
}