2011华为上机题回顾:数据结构与MSISDN验证函数
需积分: 10 33 浏览量
更新于2024-07-30
收藏 168KB DOC 举报
2011年的华为上机试题涉及到两个编程题目,分别涉及数据结构和电话号码验证。首先,我们来看第一个数据结构题目,它关注于设计一个实现约瑟夫环(Josephus Problem)的程序。约瑟夫环是一个经典的问题,通常用于算法设计,它描述了一群人在圆桌上按照特定规则进行淘汰的过程。在这个题目中,需要编写`creat`函数来创建一个循环链表,模拟n个人(编号1到n)围绕桌子坐好,然后定义`fun`函数,该函数接收链表指针`L`和一个整数`m`作为参数,模拟报数并逐个淘汰出列的过程。程序通过遍历链表,每当遇到m的倍数时,将当前节点出列,并调整链表结构以继续下一轮报数。
`creat`函数创建一个链表,初始化每个节点的编号,并确保形成一个循环链表,使得最后一个节点的`next`指向第一个节点。`fun`函数通过一个循环和计数器来追踪报数过程,当计数器达到m时,打印当前节点的编号并将节点出列。最后,在`main`函数中,调用这两个函数并设置n(例如9)和m(例如5)的值。
第二个题目是关于电话号码验证的,使用C语言编写,函数名为`verifyMsisdn`。该函数接收一个国际移动用户识别码(MSISDN)字符串`inMsisdn`,目的是检查其是否符合规定的长度和格式。函数首先检查输入是否非空,然后判断字符串长度是否等于预设的固定长度(这里是13)。函数内部使用`strlen`函数获取字符串长度并与规定长度进行比较,同时检查第一个字符是否为8,这是中国手机号码的前缀。
这些题目展示了在2011年华为上机考试中对基础数据结构(如链表)和实际问题求解能力(约瑟夫环问题)的考察,以及对C语言编程基础(字符串处理、内存管理)的检验。考生需要具备扎实的数据结构知识,理解并能够灵活运用链表操作,同时熟悉常见的输入验证算法。这些技能在IT行业中非常重要,尤其是在软件开发和算法设计领域。
2014-06-07 上传
2014-06-28 上传
2021-11-20 上传
2023-05-14 上传
2023-08-03 上传
2023-05-01 上传
2023-09-06 上传
2023-05-13 上传
2024-01-28 上传
titiyaya
- 粉丝: 1
- 资源: 16
最新资源
- 天池大数据比赛:伪造人脸图像检测技术
- ADS1118数据手册中英文版合集
- Laravel 4/5包增强Eloquent模型本地化功能
- UCOSII 2.91版成功移植至STM8L平台
- 蓝色细线风格的PPT鱼骨图设计
- 基于Python的抖音舆情数据可视化分析系统
- C语言双人版游戏设计:别踩白块儿
- 创新色彩搭配的PPT鱼骨图设计展示
- SPICE公共代码库:综合资源管理
- 大气蓝灰配色PPT鱼骨图设计技巧
- 绿色风格四原因分析PPT鱼骨图设计
- 恺撒密码:古老而经典的替换加密技术解析
- C语言超市管理系统课程设计详细解析
- 深入分析:黑色因素的PPT鱼骨图应用
- 创新彩色圆点PPT鱼骨图制作与分析
- C语言课程设计:吃逗游戏源码分享