#include<stdio.h>
#include<string.h>
typedef struct Studentlist{
char name[10];
char num[20];
char sex[3];
char xi[20];
}Student;
void input(Student*p)
{
scanf("%s %s %s %s",p->name,p->num,p->sex,p->xi);
}
void swap(Student*p1,Student*p2)
{
char temp[20];
strcpy( temp,p1->name);
strcpy( p1->name,p2->name);
strcpy( p2->name,temp);
strcpy( temp,p1->num);
strcpy( p1->num,p2->num);
strcpy(p2->num,temp);
strcpy(temp,p1->sex);
strcpy( p1->sex,p2->sex);
strcpy(p2->sex,temp);
strcpy(temp,p1->xi);
strcpy(p1->xi,p2->xi);
strcpy( p2->xi,temp);
}
void output(Student*p)
{
printf("%s %s %s %s",p->name,p->num,p->sex,p->xi);
}
int main()
{
Student stu[5];
Student*p;
p=stu;
for(;p<5+stu;p++)
{
input(p);
}
p=stu;
for(;p<5+stu;p++)
{
if((p->num)>((p+1)->num))
{
swap(p,p+1);
}
}
p=stu;
for(;p<stu+5;p++)
{
output(p);
printf("\n");
}
return 0;
}
结构体排序,用指针的方式
最新推荐文章于 2024-01-06 13:02:11 发布