前言:
此刻看官们对“c语言排序姓名”大体比较关注,咱们都想要知道一些“c语言排序姓名”的相关资讯。那么小编同时在网摘上搜集了一些关于“c语言排序姓名””的相关知识,希望我们能喜欢,我们一起来了解一下吧!C语言结构体排序讲解。
刚入行的同学一定要收藏好。
·首先声明一个Student结构体,这个结构体有学号id、姓名name、年龄age。
·然后在主函数里定义了Student结构体类型数组变量stu,并且在17行到19行写了三个学生对应的信息。第一列是学号,第二列是姓名,第三列是年龄。各位同学现在可以看到你们家子涵学号是13,却在数组里最后一个。没错,下面就是要按照学号值从小到大将这个数组排序。
·第22行是用sizeof来计算Student里有多少个学生的,像我这样除一下,count值就是stu长度,就是3。因为要用到qsort来排序,所以第二行要写上stdlib.h头文件。
·接着来看一下23行代码,qsort首先第一个参数传入要排序的数组,所以传入stu数组。第二个参数是要对多少个元素进行排序,所以直接传入count。第三个参数传入类型所占多少个字节,所以直接用sizeof来算一下Student就可以了。第四个参数传入要制定排序规则的函数,所以直接传入sort。
可以看到这个函数在第10行,qsort不知道自定义规则函数是什么意思的建议看我合集第41集。这里写法是固定的,和41集相比,把11行红色框当成整体,用a.id-b.id,gsort就会将数组按id从小到大排序了,相反它俩调换位置就会按id从大到小调换位置。
·最后用for循环来遍历一下stu结构体,编译运行,可以看到你们家子涵排在第一了。
是不是非常简单?
标签: #c语言排序姓名 #c语言给名字排序 #c语言结构体定义为什么在主函数前面 #结构体排序 c语言 #c语言按字母给姓名排序