通讯录排序(C语言)

习题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版权协议,转载请附上原文出处链接和本声明。