1、建立一个通信录,通信录的结构体记录包括:姓名、生日、电话号码;其中生日又包括三项:年、月、日。编写程序,定义一个嵌套的结构类型,输入n(n<10)个联系人的信息,再按他们的年龄大小的顺序依次输出其信息。
#include<stdio.h>
struct people{
char name[10];
int tel;
int birthday;
};
struct birthday{
int year;
int month;
int day;
};
void sc(struct people s[],int n)
{int i,j;
struct people temp;
for(i=1;i<n;i++)
for(j=0;j<n-i;j++)
if(s[j].birthday>s[j+1].birthday)
{
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
int main(void)
{
int i,n;
struct people pe[10];
printf("输入人数:n\n");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%s%d%d",pe[i].name,&pe[i].tel,&pe[i].birthday);
sc(people,n);
for(i=0;i<n;i++)
printf("%s%4d%4d\n",pe[i].name,pe[i].phone,pe[i].birthday);
return 0;
}
struct people{
char name[10];
int tel;
int birthday;
};
struct birthday{
int year;
int month;
int day;
};
void sc(struct people s[],int n)
{int i,j;
struct people temp;
for(i=1;i<n;i++)
for(j=0;j<n-i;j++)
if(s[j].birthday>s[j+1].birthday)
{
temp=s[j];
s[j]=s[j+1];
s[j+1]=temp;
}
}
int main(void)
{
int i,n;
struct people pe[10];
printf("输入人数:n\n");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%s%d%d",pe[i].name,&pe[i].tel,&pe[i].birthday);
sc(people,n);
for(i=0;i<n;i++)
printf("%s%4d%4d\n",pe[i].name,pe[i].phone,pe[i].birthday);
return 0;
}