Chap9结构 课后作业 L2-2 通讯录排序

软件2314张侃202221512027 软件23 2023-12-21 12:26:56

题目要求:

输入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

解题思路:

首先肯定是要定义一个结构类型,包含姓名、生日、电话号码这三个结构成员,题目要求将结构成员按照年龄大小输出,有两种方式可以实现该功能,1、将生日定义为一个长整型比较长整型的大小来判断年龄大小,2、将生日定义为字符串使用strcmp函数来判断字符串的大小进而判断年龄大小。这里我只采用了使用字符串大小来判断年龄大小的方法。

#include <stdio.h>
#include <string.h>
struct people{
	char name[11];
	char bir[9];
	char num[18];
};
int main()
{
	struct people per[10],d;
	int n;
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		scanf("%s %s %s",per[i].name,per[i].bir,per[i].num); //由于三个结构成员的内容都比较长且可能包含符号,所以这里统一都采用字符串的方式来输入三个变量
	}
	for(int i=0;i<n;i++){ //使用冒泡排序法按照字符串的大小来为结构成员进行排序
		d=per[i];
		for(int j=0;j<n-1;j++){
			if (strcmp(per[j].bir,per[j+1].bir)>0){
				d=per[j]; //由于同类型你的结构变量可以直接复制所以可以采用与常见类型变量一样的方式来实现位置互换操作
				per[j]=per[j+1];
				per[j+1]=d;
			}
		}
	}
	for(int i=0;i<n;i++){
		printf("%s %s %s\n",per[i].name,per[i].bir,per[i].num);
	}
	return 0;
}

运行结果:

...全文
822 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
已经博主授权,源码转载自 https://pan.quark.cn/s/7b90c9d33475 苹果CMS作为一款适用于个人与企业网站的开源内容管理工具,因其卓越的功能完备性与操作便捷性而备受青睐,特别是在构建视频和音频平台时展现出优越性能。 "影音先锋"是一款享有盛誉的多媒体播放软件,能够兼容多种格式的音视频文件,并拥有高效的解码技术以及网络流媒体传输支持。 当将"影音先锋"整合为苹果CMS的播放器组件时,用户将享受到更为顺滑且音画质量更佳的在线视听服务。 在"苹果cms影音先锋播放器插件.rar"这个归档文件中,一般会包含以下几个核心构成部分: 1. **播放器模块**:这是一个针对苹果CMS进行优化的影音先锋播放器单元,可能涵盖JavaScript、CSS以及PHP等编程文件,旨在实现影音先锋播放器在网站中的部署和操控。 这些文件将负责与苹果CMS平台进行交互,处理播放指令,管理播放队列,以及呈现播放控制界面(例如播放、暂停、快进、后退、全屏切换等功能)。 2. **说明文档或部署手册**:可能附带有README文件或同类文档,详细阐述插件的部署和参数配置流程,包括如何在苹果CMS管理端激活插件,设定播放器特性,以及应对常见故障的方法。 3. **示范代码**:插件制作者有时会提供示范模板或代码样本,旨在辅助用户掌握如何在网站页面中调用播放器,以及如何与其它功能模块(如搜索、分类、评论等)进行融合。 4. **授权许可文件**:插件可能附带一份授权声明,明确规定了插件的使用范畴、修改权限和版权归属。 用户在应用插件前必须详尽阅读并遵循这些条款。 5. **升级或更新程序**:若插件存在新版迭代,开发者或许会提供一个自动或手动升级程序,使用户能够便捷地将旧版播放器插件更新至最...

295

社区成员

发帖
与我相关
我的任务
社区描述
程序设计基础课程教学群
c语言c++ 高校 福建省·厦门市
社区管理员
  • xmzq001
  • 鹿饮涧鸣
  • 江同学Coding
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

请加入学习社区的软件23级同学修改社区昵称为学号+姓名,以便登记作业提交情况。

试试用AI创作助手写篇文章吧