习题9-5 通讯录排序(C语言)
分析:将输入的数据存入结构体数组中,采用系统排序函数qsort 按照生日排序。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct person
{
char name[11];
char birthday[9];
char phone[18];
}people;
int cmp(const void *a, const void *b)
{
return strcmp((*(people*)a).birthday,(*(people*)b).birthday);
}
int main()
{
int n,i;
people p[10];
scanf("%d",&n);
for(i=0; i<n; i++)
scanf("%s%s%s",p[i].name,p[i].birthday,p[i].phone);
qsort(p,n,sizeof(p[0]),cmp);
for(i=0; i<n; i++)
printf("%s %s %s\n",p[i].name,p[i].birthday,p[i].phone);
return 0;
}
版权声明:本文为LIve1AnD1LeARN原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。