建立一个朋友的通信录,其中包括他们的生日和姓名以及电话号码以及住址.
发布网友
发布时间:2022-05-16 00:46
我来回答
共2个回答
热心网友
时间:2023-10-05 10:31
#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);
}
qsort(F,n,sizeof(F[0]),cmp);
for(i = 0;i < n;i ++) {
printf("\n%s\n%s\n%s\n%s\n",F[i].name,F[i].birthday,F[i].tel,F[i].add);
}
}
/*
//测试数据
3
Ligang
1990.01.12
123-123
asldjkalkdjs
Xiaogang
1989.09.02
21323123
aqdasadsa
Wangna
1990.01.13
123132131232
dfssfsdfds
*/
热心网友
时间:2023-10-05 10:32
word做个模板就是了。。