ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:18.58KB ,
资源ID:27551922      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27551922.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(华为机试南京面试题.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

华为机试南京面试题.docx

1、华为机试南京面试题求一串字符串中出现次数最多的单词南京同学都陆续到华为参加了机试,题目整体难度不大,基本上都是考字符串相关的题目。这里就分享一套2012年华为南京机试C+或者C的编程题目。2012年华为南京机试第一题整数化成字符串给定一个整数(有可能是负数),将整数变成字符串。函数已经声明好类似void change(int number, char s)的形式。可以自己写用例测试。2012年华为南京机试第二题单链表逆序给定一个已经定义好的单链表,将单链表中的数字逆序。输入为head指针,返回的也是一个head指针。函数声明为void sor(Node *head)的形式。2012年华为南京机

2、试第三题字符串最大回文子串给定一个字符串,寻找它的一个最大子串,该子串是回文。例如给定用例字符串”gabcdcbaef”,那么最大回文字串是”abcdcba”。函数声明为void huiwen(char input, int len, char output)。一天几个考场的题目有相同的也有不同的,基本上难度都不大。要求做前两题就可以了,有能力的可以做第三题并且计入总分。有同学做完当场就看到是100分,也有0分的,至于怎么计分的不太清楚。希望七叶草提供的2012年华为南京机试编程题对你有帮助!武汉题目:有一个数组aN如a10=0,1,2,3,4,5,6,7,8,9每隔两个数删除一个数,如0,1

3、,2(删除),3,4,5(删除),6,7,8(删除),9,到数组尾部回到数组头部继续删除,要求编写一个函数实现实现上述操作,返回最后一个数的数组下标。函数接口:int getLast(int iLen)参数:数组初始元素个数iLen01#include 02#include 0304typedefstructnode *List;05typedefstructnode *PNode;0607typedefstructnode0809intdata;10structnode *next;11Node;1213intgetLast(intiLen)1415inti;16List L;17PNode

4、 tempNode,current;18L = (List)malloc(sizeof(Node);19L-next = NULL;20current = L;21for(i=0; idata = i;25current-next = tempNode;26current = tempNode;2728current-next = L-next;29current = L;30while(iLen 1)3132current = current-next-next;33tempNode = current-next;34current-next = tempNode-next;35printf

5、(%dn,tempNode-data);36free(tempNode);37iLen-;3839returncurrent-data;404142intmain()4344printf(last of 20 is %d,getLast(20);45return0;46编程题(共2题,第一题40分,第二题60分,共100分。请上机编写轨范,按题目要求提交文件。详见考试申明本试题采用自动测试用例进行评分,测试用例过错考生公开,凡不满足提交要求导致不能运行或用例不经由过程,不予评分)。1. 删除字符串中所有给定的子串(40分)问题描述:在给定字符串中查找所有特定子串并删除,若是没有找到响应子串,则

6、不作任何操作。要求实现函数: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

7、字串。II、 输入字符串不会跨越100 Bytes,请不用考虑超长字符串的情况。示例输入:str = abcde123abcd123sub_str = 123输出:result_str = abcdeabcd返回:2输入:str = abcde123abcd123sub_str = 1234输出:result_str = abcde123abcd123返回:02. 高精度整数加法(60分)问题描述:在计较机中,由于措置器位宽限制,只能措置有限精度的十进制整数加减法,比如在32位宽措置器计较机中,参与运算的操作数和终局必须在-231231-1之间。若是需要进行更年夜规模的十进制整数加法,需要使用

8、特殊的体式格局实现,比如使用字符串保存操作数和终局,采纳逐位运算的体式格局。如下:9876543210 + 1234567890 = ?让字符串 num1=9876543210,字符串 num2=1234567890,终局保存在字符串 result = 11111111100。-9876543210 + (-1234567890) = ?让字符串 num1=-9876543210,字符串 num2=-1234567890,终局保存在字符串 result = -11111111100。要求编程实现上述高精度的十进制加法。要求实现函数:void add (const char *num1, con

9、st char *num2, char *result)【输入】num1:字符串形式操作数1,若是操作数为负,则num10为符号位-num2:字符串形式操作数2,若是操作数为负,则num20为符号位-【输出】result:保存加法计较终局字符串,若是终局为负,则result0为符号位。I、 当输入为正数时,+不会出今朝输入字符串中;当输入为负数时,-会出今朝输入字符串中,且必然在输入字符串最左边位置;II、 输入字符串所有位均代表有效数字,即不存在由0起头的输入字符串,比如0012, -0012不会呈现;III、 要求输出字符串所有位均为有效数字,终局为正或0时+不出今朝输出字符串,终局为负时

10、输出字符串最左边位置为-。示例输入:num1 = 580num2 = -50输出:result = 530输入:num1 = 580num2 = -600输出:result = -20#includeusing namespace std;int deletestr(const char*str, const char*sub_str, char *result)const char*p = str;const char*p1 = str;const char*q = sub_str;int k=0;while(*p!=/0) if(*p=*q)&*q!=/0) p+; q+; const c

11、har*ptr = p; if(*p=/0) *result=/0; else if(*q=/0) q=sub_str; k+; p1 = p; else if(*p!=/0&*q!=/0) *result+ = *p1; p1+; p=p1; q=sub_str;if(*q!=/0) p=p1; while(*p!=/0) *result+ = *p+; *result = /0; void alg(const char*str1, const char*str2, char *result)const char *p = str1;const char *q = str2;int m =

12、0, n = 0;while(*p!=/0) p+; m+; while(*q!=/0) q+; n+;p=p-1;q=q-1;if(*str1!=-&*str2!=-)|(*str1=-&*str2=-) if(*str1=-) m-; n-; *result=0; while(m0&n0) if(*result+*p+*q)-3*0)=10) *result = 0+(*result+*p+*q)-3*0)%10; result+; *result=1; p-; q-; else *result = 0+(*result+*p+*q)-3*0); if(m=n)&m!=1) result+

13、; *result=0; else if(m!=n) result+; *result=0; p-; q-; m-; n-; if(m0) while(m0) if(*result+*p -2*0)=10) *result = 0+(*result+*p -2*0)%10; result+; *result=1; else *result = 0+(*result+*p -2*0); if(m!=1) result+; *result=0; p-; m-; else if(n0) while(n0) if(*result+*q -2*0)=10) *result = 0+(*result+*q

14、 -2*0)%10; result+; *result=1; else *result = 0+(*result+*q -2*0); if(n!=1) result+; *result=0; q-; n-; if(*str1!=-) result+; *result=/0; else result+; *result=-; result+; *result=/0;else int k1=0; int k2=0; const char*p1; const char*p2; const char*ptr1; const char*ptr2; if(*str1=-) k1=m-1; k2=n; p1

15、=p; p2=q; ptr1=str1+1; ptr2=str2; else if(*str2=-) k1=n-1; k2=m; p1=q; p2=p; ptr1=str2+1; ptr2=str1; int temp=0; /long const char*temptr; /pointer of long int temp1=0; const char*temptr1; if(k1k2) temp=k1; temp1=k2; temptr=p1; temptr1=p2; else if(k10) temp=k1; temp1=k2; temptr=p1; temptr1=p2; else t

16、emp=k2; temp1=k1; temptr=p2; temptr1=p1; *result=0;while(temp10) if(0-*result+*temptr-*temptr1)=0) *result=2*0-*result+*temptr-*temptr1; result+; *result=0;temptr-; temptr1-; temp1-; temp-; else *result = -*result+*temptr-*temptr1+1+9; result+; *result=1; temp1-; temp-; temptr-; temptr1-;if(temp0) w

17、hile(temp0) if(-*result+*temptr)=0) *result= 0+(-*result+*temptr); if(temp!=1) result+; *result=0; temp-; temptr-; else *result= 1+9-0+(-*result+*temptr); result+; *result=1; temp-; temptr-; if(*result=0) if(*temptr=-) *result=-; +result; *result=/0; else *result=/0; else if(*temptr=-) +result; *res

18、ult=-; +result; *result=/0; else +result; *result=/0;else if(*result=0) -result; while(*result=0) -result; +result; if(*temptr=-) *result=-; +result; *result=/0; else *result=/0; else if(*temptr=-) +result; *result=-; +result; *result=/0; else +result; *result=/0;int main()char *str = abcdabbabcacbaabcdabcababc;char *sub_str = ab;char result100;char *str1=-1462;char *str2=473;char re10;alg(str1, str2, re);deletestr(str, sub_str, result);cout result re;system(pause);return 0; (注:可编辑下载,若有不当之处,请指正,谢谢!)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1