

1 #include <stdio.h>
2 #define N 5
3 struct Student {
4 char name[20];
5 int num;
6 char sex;
7 int age;
8 char department[20];
9 };
10 void inputStudent(struct Student *p, int n);
11 void sortStudent(struct Student *p, int n);
12 void swap(struct Student *p, struct Student *q);
13 void outputStudent(struct Student *p, int n);
14 int main(void)
15 {
16 struct Student student[N];
17
18 inputStudent(student, N);
19 sortStudent(student, N);
20 outputStudent(student, N);
21
22 return 0;
23 }
24 void inputStudent(struct Student *p, int n)
25 {
26 int i;
27 for (i = 0; i < n; i++, p++) {
28 printf("请输入第%d个学生姓名:", i + 1);
29 scanf("%s", p->name);
30 printf("请输入第%d个学生学号:", i + 1);
31 scanf("%d", &(p->num));
32 getchar();
33 printf("请输入第%d个学生性别:", i + 1);
34 scanf("%c", &(p->sex));
35 printf("请输入第%d个学生院系:", i + 1);
36 scanf("%s", p->department);
37 getchar();
38 }
39 }
40 void sortStudent(struct Student *p, int n)
41 {
42 struct Student *end_p, *index_p, *temp_p;
43
44 //指向最后一个学生的指针
45 end_p = p + n -1;
46 //遍历结构体数组
47 for (; p < end_p; p++) {
48 index_p = p;
49 //找出最小值
50 for (temp_p = index_p + 1; temp_p <= end_p; temp_p++) {
51 if (temp_p->num < index_p->num) {
52 index_p = temp_p;
53 }
54 }
55 if (index_p != p) {
56 swap(p, index_p);
57 }
58 }
59 }
60 void swap(struct Student *p, struct Student *q)
61 {
62 struct Student temp;
63
64 temp = *p;
65 *p = *q;
66 *q = temp;
67 }
68 void outputStudent(struct Student *p, int n)
69 {
70 struct Student *end_p;
71
72 end_p = p + n - 1;
73 for (; p <= end_p; p++) {
74 printf("%s\t%d\t%c\t%s\n", p->name, p->num, p->sex ,p->department);
75 }
76 }


【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2019-05-21 实验1-8 输出倒三角图案
2019-05-21 习题4-8 高空坠球
2019-05-21 习题4-6 水仙花数