建立一个朋友的通信录,其中包括他们的生日和姓名以及电话号码以及住址.

来源:百度知道 编辑:UC知道 时间:2024/06/20 06:09:46
编写一个函数,只需要编写函数,按照他们的生日从大到小依次显示他们的信息

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

typedef struct {
char name[25];
char birthday[15];
char tel[20];
char add[25];
}Friend;

Friend F[105];
int cmp(const void *x,const void *y)
{
char a[15],b[15];
strcpy(a,((Friend*)x)->birthday);
strcpy(b,((Friend*)y)->birthday);
int nian1,nian2,yue1,yue2,ri1,ri2;
nian1 = a[0]*1000+a[1]*100 +a[2]*10+a[3];
yue1 = a[5]*10+a[6];
ri1 = a[8]*10 + a[9];
nian2 = b[0]*1000+b[1]*100 +b[2]*10+b[3];
yue2 = b[5]*10+b[6];
ri2 = b[8]*10 + b[9];

if(nian1-nian2) return nian1-nian2;
else if(yue1-yue2) return yue1-yue2;
else return ri1-ri2;

}
int main()
{
int i;
int n;//朋友数目
scanf("%d",&n);
for(i = 0;i < n;i ++) {
scanf("%s %s %s %s",F[i].name,F[i].birthday,F[i].tel,F[i].add);
}