C:按年龄输出姓名,内蒙古,892,1807,程序设计

这篇博客介绍了如何使用C语言处理一个班级学生信息的问题,要求根据学生的生日按年龄从大到小排序并输出姓名。文章提出了利用结构体数组和插入排序的思路,并给出了详细的代码实现。
摘要由CSDN通过智能技术生成

问题描述:班级共有50位同学,依次输入每位同学的姓名和生日。姓名中不含有空格,生日的输入格式yyyy/mm/dd(yyyy代表出生年,mm代表出生月,dd代表出生日)。按照年龄从大到小的顺序输出每位同学的姓名,每个名字占一行。
例如:输入“李强 1995/08/15”,输出“李强…”。

思路:首先明确出生年月数值越小,年龄就越大,要将出生日期小的排在前; 这种题必然采用结构体变量;
宏定义N为50,声明结构体数组大小为N,进行N次输入操作; 在输入时采用插入解决排序问题;
关于插入位置,在已插入元素中用i从头到jio遍历,先按年份找,年份相同再按月份找,年份月份都相同再按日子找,最后i即为插入位置;
将i及之后元素后移; 将输入元素向结构体变量逐个赋值(字符串只能采用strcpy()赋值,不能整体赋值),进行下一轮输入插入操作;
输入结束后输出。
代码:

#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

舟桥居士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值