//按出生日期将身份证号进行排序
#include"stdio.h"
#include"string.h"
struct student
{
int no;
char id[19];
};
int main()
{
struct student x[10] = {
{ 101, "342423199109172672" },
{ 103, "320114199408113316" },
{ 105, "222403199301092354" },
{ 107, "341122199411113215" },
{ 108, "34242319930521717X" },
{ 102, "220122199209270016" },
{ 104, "370282199401084613" },
{ 106, "21042319931101321X" },
{ 109, "341523199310115711" },
{ 110, "232332199309260613" }
};
int i, j;
struct student tmp;//临时变量 排序的时候用
//排序
for (i = 0; i < 9; i++)//选择排序
{
for (j = i + 1; j < 10; j++)
{
if (strcmp(x[i].id + 6, x[j].id + 6)>0)//x[i].id访问的是数组名 +6是使指针向右偏移6位 指向年龄
{
tmp = x[i];//对结构体进行排序,交换变量名就行了
x[i] = x[j];
x[j] = tmp;
}
}
}
for (i = 0; i < 10; i++)
{
printf("%d,%s\n", x[i].no, x[i].id);
}
}
按出生年月日对身份证号进行排序
原文作者:彭就是我的姓i
原文地址: https://blog.csdn.net/m0_56698045/article/details/119304241
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/m0_56698045/article/details/119304241
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。