7-3 通讯录排序(20分)

简介: 输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。

输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。


输入格式:

输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。


输出格式:

按照年龄从大到小输出朋友的信息,格式同输出。


输入样例:

3
zhang 19850403 13912345678
wang 19821020 +86-0571-88018448
qian 19840619 13609876543

输出样例:

wang 19821020 +86-0571-88018448
qian 19840619 13609876543
zhang 19850403 13912345678
#include 
typedef struct txl
{
    char name[11];
    int birthday;
    char tel[18];
}ren;
int n;
void input(ren* p);
void sort(ren* p);
int main()
{    
    scanf("%d", &n);
    ren a[10];
    input(a);
    sort(a);
    return 0;
}
void input(ren* p) 
{
    for (int i = 0; i < n; i++,p++)
    {
        scanf("%s", p->name);
        scanf("%d", &p->birthday);
        scanf("%s", p->tel);
    }
}
void sort(ren* p)
{
    for (int i = 0; i < n; i++) 
    {
        int min = i;
        for (int j = i + 1; j < n; j++)
            if (p[min].birthday > p[j].birthday)
                min = j;
        if (min != i) 
        {
            ren temp;
            temp = p[min];
            p[min] =p[i];
            p[i] = temp;
        }
    }
    for (int i = 0; i < n; i++)
    {
        printf("%s %d %s\n", p[i].name, p[i].birthday, p[i].tel);
    }    
}
目录
相关文章
|
8月前
通讯录的实现(增删查改排序)(2)
本课题模拟通讯录的实现,包括: 1.增加联系人的信息 2.删除联系人 3.查找联系人 4.修改联系人信息 5.对联系人进行排序
18 0
|
8月前
|
Go
通讯录的实现(增删查改排序)(1)
本课题模拟通讯录的实现,包括: 1.增加联系人的信息 2.删除联系人 3.查找联系人 4.修改联系人信息 5.对联系人进行排序
47 0
|
9月前
结构体成绩排序
结构体成绩排序
|
9月前
指针-成绩统计
指针-成绩统计
|
11月前
定义数组,存放5个学生的成绩(成绩值自己设定),将成绩从大到小排序,计算并显示输出成绩总和,平均成绩,最小成绩,最大成绩。
定义数组,存放5个学生的成绩(成绩值自己设定),将成绩从大到小排序,计算并显示输出成绩总和,平均成绩,最小成绩,最大成绩。
353 0
成绩排序 给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。
成绩排序 给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。
460 0
|
12月前
|
C语言
C语言刷题系列——17.计算平均成绩 18.找出总分最高的学生19.通讯录排序(二)
C语言刷题系列——17.计算平均成绩 18.找出总分最高的学生19.通讯录排序(二)
172 0
|
12月前
|
C语言
C语言刷题系列——17.计算平均成绩 18.找出总分最高的学生19.通讯录排序(一)
C语言刷题系列——17.计算平均成绩 18.找出总分最高的学生19.通讯录排序(一)
309 0
C语言刷题系列——17.计算平均成绩 18.找出总分最高的学生19.通讯录排序(一)
|
12月前
|
存储 C语言
C语言刷题系列——14.(结构)计算两个复数之积15.按等级统计学生成绩16.根据成绩高低将学生记录排序
C语言刷题系列——14.(结构)计算两个复数之积15.按等级统计学生成绩16.根据成绩高低将学生记录排序
97 0
|
数据安全/隐私保护 C语言
【C语言】制作“学生管理成绩系统”,内容包括【系统显示】【录入信息】【删除信息】【等级评定】【成绩排序】【成绩修改】【查找学生】涉及循环、结构体和数组等
学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢? 导言 学生菜单系统是基于前阶段的C语言学习,从实际出发,巩固C语言基础的练习,通过多种函数的不同运用,检验知识点的牢固可靠性。 系统设计概述 整个学生系统将会被分成几个内容,将大任务分为多个小任务,并将其合理连接起来,独立而又有联系,对逻辑能力有一定要求(没错,我是木头) 设计多个模块 开发团队信息(即首
【C语言】制作“学生管理成绩系统”,内容包括【系统显示】【录入信息】【删除信息】【等级评定】【成绩排序】【成绩修改】【查找学生】涉及循环、结构体和数组等

热门文章

最新文章