#include<stdio.h>
typedef struct stu //为结构体起别名
{
int id;
char name[21];
int age;
char sex;
int score;
}student;
void BubbleSort(student*ss,int len)
{
int i,j;
student temp;
for(i=0;i<len-1;i++)
{
for(j=0;j<len-i-1;j++)
{
//根据成绩排序 两个相邻结构体比较其成员
if(ss[j].score<ss[j+1].score)
{
temp=ss[j]; //交换结构体变量
ss[j]=ss[j+1];
ss[j+1]=temp;
}
}
}
}
int main()
{
int i;
student ss[5];
for(i=0;i<5;i++) //通过键盘获取学生信息
{ scanf("%d%s%d,%c%d",&ss[i].id,ss[i].name,&ss[i].age,&ss[i].sex,&ss[i].score);
}
BubbleSort(ss,5);
for(i=0;i<5;i++)
{
printf("编号:%d\t", ss[i].id); // \t是一个转义字符 表示跳8个空格位置
printf("姓名:%s\t", ss[i].name);
printf("年龄:%d\t", ss[i].age);
printf("性别:%s\t", ss[i].sex == 'M' ? "男" : "女");
printf("成绩:%d\t", ss[i].score);
}
return 0;
}
/*
1001 刘备 58,M 59
1002 小乔 22,F 62
1003 大乔 24,F 66
1004 张飞 44,M 11
1005 卧龙 31,M 99
*/
结构体排序
于 2023-04-05 16:35:24 首次发布