华为机试精华:2022最新C/C++编程实战题目
5星 · 超过95%的资源 需积分: 34 75 浏览量
更新于2024-07-04
29
收藏 2.74MB PDF 举报
华为机试真题2022版包含了两道题目,旨在考察考生对C/C++编程语言基础的理解和应用能力。以下是这两道题目的详细解析:
1. 题目一:HJ1 - 计算字符串最后一个单词的长度
描述:此题要求考生编写一个程序,输入一个不超过5000个字符且末尾无空格的字符串,计算并输出最后一个单词的长度。注意,单词定义为由空格分隔的连续字符序列。
C代码解答:
这段代码首先通过`fgets`函数读取用户输入的字符串,然后计算字符串长度(不包括换行符)。接着,从字符串末尾向前遍历,遇到空格就停止计数,直到找到字符串的最后一个单词。最后,输出计数结果。
2. 题目二:HJ2 - 计算字符在字符串中的出现次数
描述:本题考查的是统计字符在输入字符串中的出现次数,无论输入的字符是大写还是小写,程序都应忽略大小写差异。输入包含一个由字母、数字和空格组成的字符串,以及一个字符作为查找目标。
C++代码解答:
这段代码使用了`getline`函数获取整个字符串,然后使用`getchar`获取单个字符并转换为小写进行比较。利用`auto`迭代器遍历字符串,当找到与目标字符匹配的小写版本时,计数器`n`递增。最后输出字符的出现次数。
总结:
这两道题目都是华为机试中常见的基础编程题目,涉及到了字符串处理和字符计数的基本算法。对于准备华为机试的考生来说,理解和掌握这类问题能够提升编程技能,尤其是对字符串操作和循环结构的运用。在实际编程过程中,理解并能灵活运用标准库函数如`fgets`, `strlen`, `getline`, 和`tolower`等,对于解决此类问题至关重要。同时,这类题目也强调了对输入数据范围和边界条件的考虑,比如字符串长度限制和字符统计时的忽略大小写要求。
大个儿卫
- 粉丝: 2
- 资源: 1
最新资源
- 行业分类-设备装置-可移动平台的观测设备.zip
- study:学习
- trivia_db:琐事数据库条目
- SampleNetwork:用于说明数据源与模型之间的链接的示例网络
- commons-wrap:包装好的Apache Commons Maven存储库
- rdiot-p021:适用于Java的AWS IoT核心+ Raspberry Pi +适用于Java的AWS IoT设备SDK [P021]
- 测试工作
- abhayalodge.github.io
- 行业分类-设备装置-可调分辨率映像数据存储方法及使用此方法的多媒体装置.zip
- validates_existence:验证 Rails 模型belongs_to 关联是否存在
- 26-grupe-coming-soon
- aquagem-site
- cpp_examples
- Scavenge:在当地的食品储藏室中搜索所需的食物,进行预订,并随时了解最新信息! 对于食品储藏室管理员,您可以在此处管理食品储藏室信息和库存
- Hels-Ex7
- 行业分类-设备装置-可调式踏板.zip