分享两道华为的C语言上机题——包含答案。
来源:互联网 发布:淘宝怎么买到质量好的 编辑:程序博客网 时间:2024/05/21 06:59
下面是华为的上机编程考试题目,想加入华为的可以看看,不想加入的也可以来找一找C语言编程的感觉,毕竟各大IT公司对程序员的基本素质考察都差不多,下面的题目的实现代码是我自己编写的,其中有很详细的注释,并且每个程序都已经在Visual C++ 6.0上运行通过了。程序中包含的不足之处还请谅解,欢迎大家到我的CSDN技术博客和我交流探讨。
2010年华为软件校园招聘编程测验
类别:软件C语言
编程题(共2题,第一题40分,第二题60分,共100分。请上机编写程序,按题目要求提交文件。[详见考试说明]
本试题采用自动测试用例进行评分,测试用例不对考生公开,凡不满足提交要求导致不能运行或用例不通过,不予评分)。
1. 删除字符串中所有给定的子串(40分)
问题描述:
在给定字符串中查找所有特定子串并删除,如果没有找到相应子串,则不作任何操作。
要求实现函数:
int delete_sub_str(const char *str, const char *sub_str, char *result_str)
【输入】 str:输入的被操作字符串
sub_str:需要查找并删除的特定子字符串
【输出】 result_str:在str字符串中删除所有sub_str子字符串后的结果
【返回】 删除的子字符串的个数
注:
I、 子串匹配只考虑最左匹配情况,即只需要从左到右进行字串匹配的情况。比如:
在字符串"abababab"中,采用最左匹配子串"aba",可以匹配2个"aba"字串。如果
匹配出从左到右位置2开始的"aba",则不是最左匹配,且只能匹配出1个"aba"字串。
II、 输入字符串不会超过100 Bytes,请不用考虑超长字符串的情况。
示例
输入:str = "abcde123abcd123"
sub_str = "123"
输出:result_str = "abcdeabcd"
返回:2
输入:str = "abcde123abcd123"
sub_str = "1234"
输出:result_str = "abcde123abcd123"
返回:0
程序代码(C语言):
2. 高精度整数加法(60分)
问题描述:
在计算机中,由于处理器位宽限制,只能处理有限精度的十进制整数加减法,比如在32位宽处理器计算机中,
参与运算的操作数和结果必须在-231~231-1之间。如果需要进行更大范围的十进制整数加法,需要使用特殊
的方式实现,比如使用字符串保存操作数和结果,采取逐位运算的方式。如下:
9876543210 + 1234567890 = ?
让字符串 num1="9876543210",字符串 num2="1234567890",结果保存在字符串 result = "11111111100"。
-9876543210 + (-1234567890) = ?
让字符串 num1="-9876543210",字符串 num2="-1234567890",结果保存在字符串 result = "-11111111100"。
要求编程实现上述高精度的十进制加法。
要求实现函数:
void add (const char *num1, const char *num2, char *result)
【输入】num1:字符串形式操作数1,如果操作数为负,则num1[0]为符号位'-'
num2:字符串形式操作数2,如果操作数为负,则num2[0]为符号位'-'
【输出】result:保存加法计算结果字符串,如果结果为负,则result[0]为符号位。
注:
I、 当输入为正数时,'+'不会出现在输入字符串中;当输入为负数时,'-'会出现在输入字符串中,且一定在输入字符串最左边位置;
II、 输入字符串所有位均代表有效数字,即不存在由'0'开始的输入字符串,比如"0012", "-0012"不会出现;
III、 要求输出字符串所有位均为有效数字,结果为正或0时'+'不出现在输出字符串,结果为负时输出字符串最左边位置为'-'。
示例
输入:num1 = "580"
num2 = "-50"
输出:result = "530"
输入:num1 = "580"
num2 = "-600"
输出:result = "-20"
程序代码(C语言):
- 分享两道华为的C语言上机题——包含答案。
- 华为C语言笔试题(附答案)
- 华为C语言笔试题(附答案)
- 华为C语言笔试题(附答案)
- 华为2012校园招聘上机题——大数相乘,两个超过100位的大数相乘C语言
- 两道华为上机题目解答(Java语言)
- 华为面试上机题及答案 JAVA写的
- c语言练习题+答案分享
- 再来两道华为字符串上机题目
- 华为2012年两上机题
- 华为上机试题+答案(更新......)
- 操作系统任务调度问题(华为一上机题,自己写的答案)
- 成绩排名——华为上机笔试题
- 华为最新的上机题
- 【好程序员笔记分享】—— C语言中的文件包含
- 二级C语言上机模拟题及答案[1]_等级考试模拟题
- 华为上机—电话号码翻译
- C语言上机——实验5
- Setting color and font attribute for individual items (单独设置CTreectrl 的item 的颜色 与字体)
- Delphi 使用 RTTI 动态通过名称调用函数和设置控件属性值
- 打开页面只自动刷新一次
- ASP.Net控制不同的人编辑word文档中不同的可编辑区域的完整示例
- SQL 连接
- 分享两道华为的C语言上机题——包含答案。
- web中的下拉菜单与soaoffice控件
- 控制用户打开excel文件后只能查看和编辑指定的Sheet页
- 没有积分。
- 使用.htaccess
- 线程池设计及注意问题
- 网页中编辑word时,只显示指定用户的痕迹
- 如何删除Word文档中的空行
- 开发自己的脚本引擎(一)先吹吹水,再干事情