2008程序员面试题解:排序与字符串转复数技巧
需积分: 3 158 浏览量
更新于2024-12-02
收藏 119KB DOC 举报
【08年程序员下午试题】是一套包含两道编程相关的题目,旨在测试候选人的算法设计、数据结构理解和C语言编程能力。这些题目有助于评估应聘者的逻辑思维和编程实践。
试题一考察的是排序算法的应用。题目描述了一个合并两个已排序数组的问题,要求将数组A和数组B中的元素合并到数组C中,并保持从小到大的排序。考生需要根据提供的流程图理解其工作原理,该流程图可能涉及一种经典的合并排序方法,如归并排序的简化版,通过两个指针分别遍历两个数组,每次比较并选择较小的元素放入结果数组,直到遍历完其中一个数组,然后将剩余的另一个数组的元素直接添加到结果数组。最终,数组C会反映出所有元素的合并,重复的元素也会被保留。
试题二则关注字符串处理,特别是将单数名词转换为其复数形式。程序定义了一个名为`plural`的函数,它接受一个单词作为输入,根据不同的规则来确定复数形式。首先检查单词以'y'结尾,如果是,则替换为'i', 'e', 's';如果以's', 'ch', 'sh'结尾,添加'es';其余情况下直接加's'。考生需要填写缺失的部分:
1. 检查单词是否以'y'结尾,这通常使用条件语句实现,即`if (word[n-1] == 'y') { ... }`
2. 将`pstr[n-1]`更新为'i',这里应该是`pstr[n-2] = 'y';`,因为之前判断了'y'。
3. 如果不是'y'结尾,检查是否以's'或'h'结尾,这需要一个额外的条件判断,可能是`pstr[n-2] != 'y' && (pstr[n-1] == 's' || pstr[n-1] == 'h')`。
4. 当执行完上述条件判断后,需要设置结束符,这里是字符串复制操作的终点,所以`pstr[n+1]='\0';`应该在`else if`块的最后。
这两个题目不仅要求考生具备扎实的编程基础,还需要灵活运用所学数据结构和字符串操作技巧,以及对算法的理解和应用。通过解答这些题目,应聘者可以展示自己的编程实战能力和问题解决能力。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2008-09-15 上传
2008-05-28 上传
2009-01-01 上传
2009-05-09 上传
138 浏览量
2010-05-17 上传
hyl_xnq
- 粉丝: 109
- 资源: 11
最新资源
- 城市信息服务公司网页模板
- StatusFrost - Statistics on Your Browsing-crx插件
- 码头工人
- redis-5.0.8-x64-for-windows.zip
- 网络游戏-基于遗传算法过采样支持向量机的网络入侵检测方法.zip
- Ember_Super_Rentals
- pedurma-double-tsek
- 蓝色教育资料库网页模板
- XSdropship-crx插件
- CrimeReporting:使用Java开发的CrimeReporting应用程序
- qt_font_freetype.tar.gz
- trainable-handwriting-recognizer:可训练的手写识别器
- francescogiancipoli.io:这是我的第一个仓库
- CAYOVA Box-crx插件
- 基于设计模式的绘板程序
- vifm-colors:Vifm文件浏览器的各种Colorchemes