|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
通信录排序:通讯录的结构记录包括姓名、生日、电话号码,其中生日又包括年、月、日这三项。定义一个嵌套的结构类型,输入n(n<10)个联系人的信息,再按他们的年龄从大到小的顺序依次输出信息
#include <stdio.h>
struct contact {
int birth;
char name[20];
char tel[20];
}c1[20],t;
int main(void) {
int i,n,j,index;
scanf("%d",&n);
for(i=0;i<=n;i++){
scanf("%s%d%s",c1[i].name,&c1.birth,c1[i].tel);
}
for(i=0;i<n-1;i++){
index=i;
for(j=0;j<n-1;j++)
if(c1[j].birth>c1[index].birth)
index=j;
t=c1[j];c1[j]=c1[index];c1[index]=t;
}
for(i=0;i<n;i++)
printf("%s %d %s \n",c1[i].name,c1[i].birth,c1[i].tel);
return 0;
}
#include <stdio.h>
struct contact {
int birth;
char name[20];
char tel[20];
}c1[20],t;
int main(void) {
int i,n,j,index;
scanf("%d",&n);
for(i=0;i<=n;i++){
scanf("%s%d%s",c1[i].name,&c1.birth,c1[i].tel); //错误在于你写的c1.birth改成c1[i].birth
}
for(i=0;i<n-1;i++){
index=i;
for(j=0;j<n-1;j++)
if(c1[j].birth>c1[index].birth)
index=j;
t=c1[j];c1[j]=c1[index];c1[index]=t;
}
for(i=0;i<n;i++)
printf("%s %d %s \n",c1[i].name,c1[i].birth,c1[i].tel);
return 0;
}
|
-
|