题目:输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。
输入格式:
输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd
格式的日期,“电话号码”是不超过17位的数字及+
、-
组成的字符串。
输出格式:
按照年龄从大到小输出朋友的信息,格式同输出。
1.在int main函数前定义struct结构体
struct add
{
char name[20];
int born;
char num[17];
}add[10],add1;
2.利用嵌套循环排序出生年月
for (int i=0;i<n-1;i++)
{
for (int j=0;j<n-i-1;j++)
{
if(add[j].born>add[j+1].born)
{
add1 = add[j];
add[j] = add[j+1];
add[j+1] = add1;
}
}
}
3.输出排序后的add数组
for(int i=0;i<n;i++)
{
printf("%s %d %s\n",add[i].name,add[i].born,add[i].num);
}
注意:若只有数字可用%d,而字符串用%s输入和输出