全班 N 个学生,每个学生有学号、姓名、年龄,需要按照年龄进行排序.
#include <stdio.h>
#include <math.h>
#include <string.h>
#define N 5
typedef struct student {
char num[10];
char name[20];
int age;
}stud;
void swap_student(struct student *a, struct student *b) {
stud tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
void sort_soap(struct student list[], int len)
{
int i, j;
for (j = 0; j < len-1; j++) {
for (i = 0; i < len-j-1; i++) {
if (list[i].age > list[i+1].age) {
//交换相邻的两个数
swap_student(&list[i], &list[i + 1]);
}
}
}
}
void main(void)
{
//初始化数据
int i;
stud list[N]={
{"2017001","张三",22},
{"2017002","李四",21},
{"2017003","王五",18},
{"2017004","赵六",19},
{"2017005","丁一",20},
};
//排序
sort_soap(list, N);
//打印
for(i = 0; i < N; ++i) {
printf("%s %s %d\n",list[i].num,
list[i].name, list[i].age);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)