首页 > 教育知识 > 题目解答 > 华为招聘2013

华为招聘2013

时间:2018-04-28   来源:题目解答   点击:

【www.gbppp.com--题目解答】

华为招聘2013 第一篇_2013届华为校园招聘上机题

2013年华为软件校园招聘编程测验

类别:软件C/C++语言

编程题(共3题)

注意:

1、请上机编写程序,按题目要求提交文件。[详见考试说明,点击进入考试说明]

2、本试题采用自动执行测试用例进行评分,测试用例不对考生公开

3、评卷通过在给定用例输入下,严格按照试题要求比较考生实现函数的输出与预设输出。两者相同则得分,不同则不得分

4、评卷人保证测试用例输入参数的合法性,考生不用考虑输入参数非法或异常的情况,题目中注明的例外

5、评卷人保证测试用例输入在被测函数正常合法情况下使用不会导致程序错误

6、被要求实现的函数如果包含返回参数,该返回参数涉及的空间分配和释放均在函数外完成,在被要求实现函数内部可以直接使用返回参数

7、如果考生函数异常导致程序崩溃或死循环,则自动评卷可能会被人为终止,剩余用例不被执行,无法得分

8、基于上述阅卷规则,请考生严格按照题目要求功能实现程序,尽量保证实现函数的稳健性,同时建议完成一道题并调试保证正确性后,再考虑并实现下一题目

1. 字符串处理

问题描述:

把一个字符串中的除大写字母、小写字母和数字字符之外的其他字符都去掉,输出新字符串。 

 要求实现函数:

void my_string(char* input, char* output)

【输入】 char* input,输入的字符串

【输出】 char* output, 输出的字符串

【返回】 无

 示例

输入:input = “A*(BC&De+_fg/*”

输出:output = “ABCDefg”

输入:input = “aB+_9”

输出:output = “aB9”

2. 掷骰子游戏

问题描述:

在掷骰子游戏中,会根据所掷数字在地图中前进几步,前进完成后需要根据当前地图位置所示的障碍进行相应操作,其中障碍表示: 

1) 9:无障碍

2) 1:停掷一轮,即下轮所掷数字无效;

3) 2:后退两步,如果已经到起点不再后退;

4) 3:奖励前进一步

如果在游戏过程中,已经走到地图终点,则游戏结束。根据输入的地图数组,和5个骰子数的数组,返回最终玩家前进了多少步。

 要求实现函数:

void dice(int map_len, int* map, int* dice_val, int* output)

【输入】 int map_len,地图数组的长度

int* map,地图数组,值表示障碍

int* dice_val,5个骰子数的数组

【输出】 int *output,玩家共前进了多少步

【返回】 无

注:玩家是从起始位置开始,即地图数组的第一位,骰子数只能是1~6

 示例

1) 输入:map_len = 15, map = {9,1,9,9,9,2,9,9,9,9,9,9,9,9,9},dice_val = {1,2,1,3,1},

返回:4

2) 输入:map_len = 16, map = {9,9,9,9,9,1,9,3,9,9,2,9,9,9,9,9},dice_val = {2,1,4,1,6},

返回:15

3. 表达式计算

问题描述:

在软件园开饭店的小明最近很郁闷,经常在进行账目核查时出错,每次的计算结果总是有偏差。小王知道后打算为小明解决这个问题,经过调查发现,问题出现在计算器上,当前的计算器计算方法大部分是:输入数据,输入运算符,再输入数据,立刻给出计算结果,然后不断循环。当计算结束时,如果出现偏差或者数据,无法回顾查看到底是哪一步出错,如果需要再次核查,还需要再全部输入一次,非常耽误时间。小王打算帮老板设计一种新的计算器,能够支持表达式的计算,由于是第一个版本,只需要支持整数的“+,-,*”和“( )”即可, 当然括号内的运算优先级高于括号外,“*”的优先级是高于“+,-”的。

注:输入的表达式字符串长度小于20。且表达式一定是合法的表达式。 

 要求实现函数:

void calculate(char* input, int* rel)

【输入】 char *input,待计算的表达式

【输出】 int* rel,计算结果

【返回】 无

 示例

1) 输入:input = 5+2-10*2+5

输出:rel = -8

编程框架下载

华为招聘2013 第二篇_华为2013年应届毕业生招聘公告(发布版)

华为2013年应届毕业生招聘正式启动

加入华为 大有可为

华为是全球领先的信息与通信解决方案供应商。我们在电信网络、终端和云计算等领域构筑了端到端的解决方案优势,致力于为电信运营商、企业和消费者等提供有竞争力的综合解决方案和服务,持续提升客户体验,为客户创造最大价值。目前,华为的产品和解决方案已经应用于140多个国家,服务全球1/3的人口。

2011年,华为销售收入达到2,039亿人民币(约324亿美元),同比增长11.7%,是全球第二大电信设备供应商。全球140,000多名员工中有44%从事研究开发工作,其中海外员工本地化达72%。截至2011年底,华为专利授权数超过23,500件,其中发明型专利占比高达90%以上。在LTE/EPC 领域,华为核心专利数全球领先。

加入华为,大有可为!我们诚邀拥有梦想并锐意进取的您,加入华为大家庭,在全球舞台上激扬无悔的青春,激发潜能,成就团队,成就自我!

请尽快登录华为网站校园招聘主页(

附:华为2013年应届生招聘职位

【研发类】:软件研发、硬件研发、芯片设计、射频、IP开发、研究工程师、逻辑开发、DSP工程师、光技术、性能/算法、电源研发、工程工艺、云计算、工业设计、互连、IT工程师、资料工程师等

【销售与服务类】:客户经理、技术销售、技术服务

【供应链类】:供应链管理、采购认证 、制造技术

【财经类】:财务管理、账务管理、企业风险管理、销售融资、流程管理等

【法律类】:知识产权工程师、涉外律师

【管理及其他类】:基建项目管理、公共关系管理、小语种、翻译等

具体职位描述和专业要求请登录华为公司网站校园招聘主页

广州区域简历注册截止时间:9月30日

广州区域面试时间:10月11日-14日

广州区域软件类岗位上机考试时间:9月27日,请投递软件类岗位的同学于9月25日前注册简历

华为招聘2013 第三篇_华为公司招聘职位要求

华为公司招聘条件要求

软件研发工程师:

工作职责: 负责通信系统软件模块的设计、编码、调试、测试等工作,参与相关质量活动,确保设计、实现、测试工作按时保质完成. 职位要求:

1、 计算机、通信或相关专业本科以上学历

2、熟悉C/C++、JAVA、底层驱动软件编程,熟悉TCP/IP协议、Internet网的基本知识

3、对通信知识有一定基础

4、能够熟练阅读和理解英文资料

2、 硬件研发工程师:

工作职责: 从事单板硬件、光技术、逻辑、射频、装备、机电、CAD、器件可靠性等模块开发工作,参与相关质量活动,确保设计、实现、测试工作的按时保质完成。

职位要求:

1、电子、计算机、通信、自控、自动化相关专业本科以上学历

2、具备良好的数字、模拟电路基础

3、熟悉C/嵌入式系统开发/底层驱动软件编程/逻辑设计

4、能够熟练阅读和理解英文资料

芯片设计工程师:

工作职责:

1、负责数字/模拟芯片开发和设计、验证、实现工作;

2、按照模块规格和芯片总体方案的要求,严格遵循开发流程、模板、标准和规范,承担

模块的详细设计和实施工作,确保开发工作按时按质完成;

3、及时编写各种设计文档和标准化资料,实现资源、经验共享。 职位要求:

1、微电子、计算机、通信工程等相关专业

2、了解或实际应用过VHDL/Verilog语言编程,掌握数字电路设计,或具有FPGA设计经验,或熟悉综合(SYN)/时序分析(STA)/布局布线(Place and routing)/可测性设计(DFT),有相关工具应用的经验;或具有模拟IC设计项目经验

射频开发工程师:

工作职责:负责通讯设备射频模块的开发、设计和优化工作;从事无线基站通信设备天馈及其解决方

案方面的研究和开发工作。

职位要求:

1、电子、通信、电磁场与微波、微电子半导体等专业本科及以上学历;

2、能够熟练阅读和理解英文资料;

3、掌握并有RF仿真经验(如ADS)优先;

4、有射频产品开发经验优先。

云计算研发工程师:

工作职责:负责云计算基础平台的设计、实现、调试、测试等工作,参与相关质量活动,确保设计、

实现、测试工作按时保质完成。

职位要求:

一、重点高校计算机、信号处理、媒体处理、模式识别等相关专业硕士

二、熟悉Linux下C/C++/Java编程语言

三、熟悉以下相关专业技术知识之一,并有一定实践经验:

1)、熟悉分布式计算/虚拟化技术/并行计算(任务调度,资源管理)

2)、熟悉网络文件存储技术/网络文件系统/分布式文件系统;熟悉分布式数据库。

3)、熟悉海量数据在线分析/数据挖掘/搜索/用户行为分析

4)、熟悉TCP/IP协议和网络QoS技术,有文件传输/P2P文件传输/P2P

streaming/网络拥塞控制、速率控制等方面经验

5)、熟悉网络流媒体,或P2P/P4P媒体承载技术,或互联网主流视频分发/ Cache调度/转换与适配及性能优化等视频分发与适配相关技术,或CDN 路由和负载均衡算法

6)、熟悉图像处理/人脸识别/文字识别/数字水印/视纹技术/DRM/安全等领域等专业知识和经验

电源研发工程师:

工作职责:负责通信电源及其他电源、新能源系统或模块硬件和控制软件设计、开发、调测、测试等工作,参与相关质量保障活动,确保设计、实现、测试工作按时保质完成。

职位要求:

1、电力电子、电气工程、自动化、电机、电化学或相关专业硕士及以上学历

2、具备模拟电路、功率变换电路、自动控制等专业基础,有电力电子硬件项目背景或者熟悉DSP软件编程基本知识。

3、对通信电源、新能源领域相关技术有一定掌握,掌握电源系统、DC/DC电源、AC/DC电

源、逆变电源、UPS、后备电池及管理、监控管理、半导体电压调整器的开发设计或应用设计相关的一项或多项基础知识。

4、能够熟练阅读和理解英文资料,具有良好的团队意识。

逻辑(FPGA)开发工程师:

工作职责:

1、负责基带FPGA模块的设计、编码、调试、单元测试等工作,参与相关质量活动,确保设计及实现工作按时保质完成。

2、负责硬件大规模逻辑项目的开发和维护工作或负责无线通信产品逻辑算法、协议、接口、控制逻辑的开发、验证。

职位要求:

1、通信、电子专业,具备通信基础理论知识;

2、精通Verilog/VHDL编程语言,有良好的数字电路基础;

3、具备一定的逻辑器件知识,掌握基本逻辑开发流程和开发工具 研究工程师:

工作职责:在通讯领域、电子信息新领域,从事超前的技术研究、标准化及验证样机开发等工作。

职位要求:

1、数学、通信、计算机、电子工程等专业博士或硕士,优选博士;

2、有扎实的专业技术知识和实际的项目研究经历,具备独立从事研究的能力,在国际专业期刊发表论文或参与过国际标准会议及学术会

华为招聘2013 第四篇_2013华为面试心得点滴总结大全

华为面试点滴总结

这段时间所有的事情告一段落,正好有点时间写些最近自己面试心得,包括昨天刚结束的华为面试。自己不常去写东西的,更不会做一些无用的感慨,以前(包括现在)我一直觉得诗人就是懦弱的抒情汉,如同任何一个动物都会有发情期,我从不认为诗人会对人类历史的科学进步有任何的贡献可言。但令人讽刺的是,你会发现你身边会有很多诗人,从qq空间再到微博微信可略见一斑(无非都是想向他人证明自己存在感,更多的都是无病呻吟),当然我认同这是每个人的权利,而我在此只是表达自己态度而已,尊重但不提倡。所以有什么不同意见,我会悉心接受,但暂且姑妄听之。Okay,言归正传,网上有很多大牛都会分享一些自己的面试心得,自己算不上大牛,小牛都不算的,并非谦虚,实则诚实,也未曾想过哗众取宠,记得《Prison break》里面Michael Scofield刚进监狱第一天被狱友戏称为fish,自己大概也如此吧,只不过自认为是只咸鱼,期待有咸鱼翻身当家作主的那么一天。希望有缘人看到,或多或少能够得到些许帮助,便是我的初衷。

最初是听同学说的华为最近在招聘实习生,华为对于学it的并不陌生,自己也满怀憧憬,因之前未在官网注册所以也没收到参加机试的短信邀请,便和同学一同前往,心想着应该会给机试机会吧,去了之后,一个HR说必须注册才能参加考试,只能回去注册下午再来,真是悲哀,大热天的从中南铁道校区到中南本部校区并非易事,有始有终,下午就去了,一批一批的进去上机考试,一道编程题,时间为30分钟,可以选择编程语言(C,C++,JAVA)都可以,自己对java比较熟悉(C++之前学的,忘了很多),便选择了JAVA 的试题,题目是,请输入一个任意长度的17进制的字符串(如GG,12A),然后转化成10进制的输出。题目并不是很难,但老实说,你要是一开始思路方向找错了,那就完了,因为只有30min,所以,本人认为还是有一定难度的。下面是我写的程序,

和我不同批次的同学抽的题目是不同的,他大概给我说了一下题目,我回来之后也试图解答了一下,题目是一个加密算法,输入四位整数,每位数字加9并与10取余,得出的结果让个位与百位相替换,十位与千位相替换,并输出。我觉得我的方法不是很好,但能实现,也未去细细研究优化,若有大神可提出更好的解决方法。程序如下:【华为招聘2013】

机试完后就回学校了,当天晚上收到短信邀请,说是第二天下午3点30参加在湖南大学的面试。第二天,自己提前半个多小时就到了湖大的一个大厅里,百十来号人吧,进去之

后让拿出身份证(验明正身),然后交了简历,就去等待区,8个HR,每个HR对一个面试者,第一轮是技术面试,第二轮是综合面试,技术面试不通过直接pass,技术面试每人大概40min左右,一对一,看上去挺正式的,其实也确实有料。过了以后,考官念到我的名字,屁颠屁颠的就跟着他过去了,其实之前参加这种类似的面试笔试,可是如今还是有点小紧张。先简单的自我介绍了一下,然后就直入主题,问问做过什么开发之类的,自己本人做过学生管理系统(C/S架构)和企业邮箱登录系统(B/S)架构,虽然程序并不大,但都是自己完成的,然后HR问的比较深入,问具体怎么实现的,用到那些技术,自己这些还真不是虚的,所以没难到我(本人建议,简历上所写的项目经验千万别吹嘘,一定实打实的,做学问,不可有半点虚假,否则,你会死的很难堪的),又问了一些数据库之类的东西,主要是ORACLE的PL/SQL编程,问我是否编写过过程,函数,触发器等,幸好之前很深入的自学过,所以说了一些这部分内容,又问我自己编写的过程比较得意的是实现了什么功能,想想就用PL/SQL编写过分页技术,便如实回答。还问了一些自己过去编写的程序中比较得意的是什么项目或程序。之前看着视频编写过坦克大战,他又问我坦克对象的接口都有哪些,坐标,坦克方向等等。最后,给了我一张纸和笔,让我编写一个strcpy函数。这个估计大家都会,蛮简单的,便不再列出程序。写完之后,HR说挺好的,让我去综合面试等待区。这就是第一轮技术面试。

过了2个小时,因为还有人在一面,HR说,其他人先去吃饭,吃完发接着回来第二轮面试,唉··这是要打持久战了,买了瓶水吃了些饼干就过来等着了。大概到晚上8点时,叫到我的名字开始第二轮综合面试,这次是通过技术面试的人,六人为一组开始群面,是一个项目经理吧,我也不确定。首先让每个人轮流用中文自我介绍。并问了一些基本情况。面试官看的挺和善的,总是面带微笑,但却往往是这种人杀人不见血,如果你被pass了,你都不知道怎么死的,呵呵,这或许才是真正的高手,杀人于无形之中。然后又让我们进行英文自我介绍,并用英文介绍一下家庭情况,自己英语还不是很差,感觉还蛮ok的,然后又问了问五年之后自己希望的生活状态以及自己对未来工作的规划,以及自己最大的梦想是什么,还问我愿不愿意去欧洲工作(当然愿意咯嘿嘿),综合面试也持续了大概30分钟吧。然后出来之后等结果,面试完后都感觉不错,过了一会结果出来了,六个人刷了三个人(那三个人一脸茫然),自己侥幸通过。

写到此,也差不多了,自己也就是想到哪就写到哪,写的不好,更谈不上文笔,但真实,童叟无欺,呵呵,希望能或多或少帮助到后来人面试华为,自己感觉华为真不是吹的,很公平也很正规,okay,就这样吧,写的不好,希望更多大神补充更正,共同进步。

2013/6/16 22:33记

华为招聘2013 第五篇_华为各级员工的标准岗位工资

华为各级员工的标准岗位工资

1、华为各级员工的标准岗位工资(注:传说中的历史数据):

13-C:05500,B:06500,A:07500

14-C:07500,B:09000,A:10500

15-C:10500,B:12500,A:14500

16-C:14500,B:17000,A:19500

17-C:19500,B:22500,A:25500

18-C:25500,B:29000,A:32500

19-C:32500,B:36500,A:40500

20-C:40500,B:44500,A:49500

21-C:49500,B:54500,A:59500

22-C:59500,B:,A:

在华为,助理工程师的技术等级为13;普通工程师B的等级为14;普通工程师A的等级为15;高级工程师B的等级为16;高级工程师A的等级为17;主任工程师的等级为18;技术专家的等级为19以上(华为技术专家的技术等级和待遇等同于三级部门主管;若是高级技术专家,最高可达到一级部门正职的技术等级21A~22B);三级部门主管为19B~19A,二级部门主管为20A,一级部门主管为21B~22B;最高等级为22A。

孙亚芳是最高级22A,和任总一样。华为好像只有此两人为22A(具体不详),华为一级部门主管或副总裁在22C~21B之间,二级部门总监20A~20C,三级部门主管19A~19C。刚开始定级时,三级部门主管大多18A~18B。现在过去若干年,华为的级别也有水分了,大家的级别也有升高。

完全胜任的系数是1,基本胜任的系数是0.9,暂不胜任的系数是0.8;地区差异系数:一级城市是1,二级城市是0.9,三级城市是0.8,其它城市是0.7。

虚拟股票期权:

15级的虚拟股票期权饱和值大约3~4万多期权(注:因人而异)。今年虚拟股票分红为每股1块多(注:2010年是2.98¥)。

还有若干奖金、股票分红……

2、任职资格:

13C以下是3千多名(注:2010年后的数目尚不明确)生产线上的操作工的级别。

应届本科生最低级别就是13C。

2004年进入华为的本科生目前大多15A~15B。

新入职的应届本科为13C,一般每一年2小级(注:因人而异)。此任职资格和你的技术等级挂钩(但是内部有时又不挂钩),技术等级共为7级,7级只有一个,其余的为6A>6B>6C>5A>5B>5C>4A>4B>4C>3A>3B>3C>2A>2B>2C>1A>1B>1C,形象的说,技术等级是职称,任职资格是享受的待遇等级。也许有的人待了15年也到不了18A,也许有的人很快就到18A,不一而同,因人而异。

华为任职资格和技术等级是挂钩的,规定为技术等级+13=任职资格,如技术等级3A,任职资格为3A+13=16A。规定是这样,也有不匹配。

七千人离职事件发生在2007年,2000年前入职的应该在1.3万人左右,他们都是沉淀下来的员工。因为他们一直在华为工作,股票较多,年终奖也高。2000年以前进入华为的工作都超过十年了(注:推算发文时间在2010年),所以他们的年收入不止50万(注:待确认普遍性),他们的收入是社招18A的三倍左右(注:待确认普遍性),大多在百万左右(注:待确认普遍性)。驻海外的则更多。

如果是社招进华为,年收入会低于华为同级别的老员工,因为老员工们有股票,年终奖也高。社招员工要三年左右才能配到和级别相应的股票,年终奖要三年左右才能和同级别的相同。刚进去的,年终奖很低,股票也配给的少,股票要达到饱和值,需要有三四年的过程。

因为每个级别都有完全胜任和不完全胜任或是不胜任,所以每个级别的员工的工资也有一些差异,股票也会有差异。这里所贴的是基本工资,如果不完全胜任,乘0.8系数。

至于PL(People Leader),在华为不算什么,是研发最低的小组长。也许只是三五个人中临时负责者,也许是二十来号人的小组长。很多研发人员外出为了提高身价,自己说自己是PL(基本上无法求证),三级部门主管才有公司发文。如果(产品线)有四级部门,有的PM(People Manager)可能也会有发文。

华为研发体系层级如下:普通研发、PL、PM、四级部门有的PM为部门负责人(很多研发部门有四级部门,也有的没有)、开发代表(三级部门主管)、总监(二级部门主管)。

3、年收入:

这里所说的年收入也因人而异。如一个社招的18级的员工,他进入华为以后的前四年的每年收入最多35万。而一个土著18级,他的年收入最少百万(注:待确认普遍性),这个差距是股票和奖金造成的。

拿18A来说,每个月要交5700¥左右的个人所得税,扣除个人所交保险什么的,算2000¥吧,N-7700=n;一年的工资税后收入大概是30万,奖金和分红另计。

如果工作八年以上,可以去应聘16A(大多给16B,但是工资会低于上述所贴,上述的工资是每个级别的最高工资等级,工资开价在~之间),工作六年的可以去应聘15A~15B(工资开价在~之间,如开价16级肯定不会给)。若自认为能力突出,项目经验丰富,有经理级职务,或技术专家,可以去应聘18级,当然应聘的时候会和你讨价还价,讨价还价之后给你的级别一般会低于你的开价一大级。

如果工作十年或以前担任过部门经理的社招员工,由于级别给的较高者(17A以上)大多数会赶到海外。

华为社招工作六年的能力和技术水平一般,基本能胜任工作的普通社招员工大多为15A~15B。如果在原公司是骨干可以高两个小级,即16B~16A。

如果社招工作八年的普通员工,大多给予16A~17B。

【华为招聘2013】

如果原公司(在业界有所闻名的公司)担任过公司正式任命的部门经理,并有超过两年担任部门经理(部门主管)职务的经历,有管理团队工作的业绩,或是工作十年以上的技术骨干,则不走普通招聘流程,作为特招进入,级别一般给予17A~18A,给予签字费,股票。签字费就是你愿意来华为给你的补偿金,一般是作为补偿你跳槽损失的奖金,一般3~N万。此签字费一般是特招员工或普通工程师17B以上的员工才有(华为挖骨干员工的手段)。 很多人会注明年终奖不低于某个数值。

若是思科、爱立信、阿朗、诺西等公司正式任命的部门经理(部门主管),则会给予等同于华为三级部门主管的级别19B或19A。这里所说的部门经理即公司正式发文任命的部门经理,负责管理一个部门,负责管理部门整个部门的工作,制订部门计划,监督管理员工,负责员工考核,召开例会分配任务等,负责领导本部门全体员工完成公司或上级下达的各项任务的部门领导者。

特招一般三面,没有普通社招的技术考试和群面。特招分为每个产品线的人力资源,也就是干部部(干部部是普通的负责招聘的部门,不是什么招收干部的部门,华为的干部部就是公司人力资源下设在在每个产品线的二级部门,负责应届招聘、社招、考核员工等。)的主管面,用人部门主管或技术骨干面,大领导面。特招以面谈为主,主要考察你领导团队能力、项目能力……

如果他工作六年多,任职资格15A,工资只有8000¥,那就不正常。

以应届生入职为例,入职工资5500+1000=6500(注:2011年最新工资标准为硕士拿7500~8500¥)。要知道华为已经连续三年普调工资,即便是一次只加五百元,三次也有1500,除此之外的另外三年,他应该还没有一次加薪,这样,他的工资为6500+1500=8000。

此外,他是15A,即便是15A的工资不匹配,也应该匹配14A或15B的工资标准,所以,他拿15A不到的工资是特例,很少见。

以他工作六年多,15A为例,他的股票应该在8万股左右,年分红12万左右,此外工作六年的年终奖也应该在8万以上。

17

2010-11-19

补记:

2011年,华为年报显示,华为2010年销售收入1852亿,同比增长24%,而在雇员费用这块的支出是306亿,同比增长23%。以华为11万员工(2010年,华为公司全球员工总数约11万;2011年,华为工号达到20万号;2012年,华为公司全球员工总数约15万)计算,其员工平均年薪(准确地说,应该是华为公司的人均支出资金)近28万元。2013年, 华为公司宣布调薪,应届本科生薪水将在8000-9000元;应届研究生调高至10000元左右。

华为招聘2013 第六篇_2013届华为校园招聘上机题

1. 字符串处理

把一个字符串中的除大写字母、小写字母和数字字符之外的其他字符都去掉,输出新字符串。  要求实现函数:

void my_string(char* input, char* output)

【输入】 char* input,输入的字符串

【输出】 char* output, 输出的字符串

【返回】 无

 示例

输入:input = “A*(BC&De+_fg/*”

输出:output = “ABCDefg”

输入:input = “aB+_9”

输出:output = “aB9”

#include <stdio.h>

void my_string(char* input, char* output);

int main(void)

{

char input[] = "A*(BC&De+_fg/*";

char output[14];

my_string(input, output);

char input1[] = "aB+_9";

char output1[6];

my_string(input1, output1);

my_string(input2, output2);

return 0;

}

void my_string(char* input, char* output)

{

int i,j=0;

for(i=0; input[i]!='\0'; i++)

{

if( ( input[i]>='0')&&(input[i]<='9') || (input[i]>='a')&&(input[i]<='z')\

|| (input[i]>='A')&&(input[i]<='Z') )

{

output[j] = input[i];

j++;

}

}

output[j] = '\0';

printf("the output is %s\n",output);

}

2. 掷骰子游戏

在掷骰子游戏中,会根据所掷数字在地图中前进几步,前进完成后需要根据当前地图位置所示的障碍进行相应操作,其中障碍表示:

1) 9:无障碍

2) 1:停掷一轮,即下轮所掷数字无效;

3) 2:后退两步,如果已经到起点不再后退;

4) 3:奖励前进一步

如果在游戏过程中,已经走到地图终点,则游戏结束。根据输入的地图数组,和5个骰子数的数组,返回最终玩家前进了多少步。

 要求实现函数:

void dice(int map_len, int* map, int* dice_val, int* output)

【输入】 int map_len,地图数组的长度

int* map,地图数组,值表示障碍

int* dice_val,5个骰子数的数组

【输出】 int *output,玩家共前进了多少步

【返回】 无

注:玩家是从起始位置开始,即地图数组的第一位,骰子数只能是1~6

 示例

1) 输入:map_len = 15, map = {9,1,9,9,9,2,9,9,9,9,9,9,9,9,9},dice_val = {1,2,1,3,1},

返回:4

2) 输入:map_len = 16, map = {9,9,9,9,9,1,9,3,9,9,2,9,9,9,9,9},dice_val = {2,1,4,1,6},

返回:15

#include <stdio.h>

void dice(int map_len, int* map, int* dice_val, int* output);

int main(void)

{

int map_len = 15, map[] = {9,1,9,9,9,2,9,9,9,9,9,9,9,9,9}, dice_val[] = {1,2,1,3,1};//4

int a=0 , * output=&a;

dice(map_len, map, dice_val, output);

int map_len1 = 16, map1[] = {9,9,9,9,9,1,9,3,9,9,2,9,9,9,9,9}, dice_val1[] = {2,1,4,1,6};//15

int a1=0 , * output1=&a1;

dice(map_len1, map1, dice_val1, output1);

return 0;

}

//方法2

void dice(int map_len, int* map, int* dice_val, int* output)

{

int step=0, i;

for(i=0; i<5; i++)

{

step = step + dice_val[i];

if(step>=map_len - 1)

{

【华为招聘2013】

*output = map_len - 1;

step = map_len - 1;

break;

}

else if(map[step] == 1)

i++;

else if(map[step] == 2)

{

if(step>1)

step = step - 2;

else

step = 0;

}

else if(map[step] == 3)

step++;

}

*output = step;

printf("the output is %d\n",*output);

}

3题目描述:

输入一个字符串,将其中大写字母转换为对应小写字母之后的第五个字母,

若原始大写字母为V~Z, 则转换为对应小写字母的值减21。

其他字符不变,输出转换后的字符串。

例如,对于字母A,则转换为小写字母f;若形参是字母W,则转换为小写字母b

要求实现函数:

void TransferString(const char * pInputStr, long lInputLen, char * pOutputStr);

【输入】 pInputStr: 输入字符串

lInputLen: 输入字符串长度

【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;

【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出

示例

输入:“Axs3mWss”

输出:“fxs3mbss”

/*

#include <stdio.h>

#include <stdlib.h>

【华为招聘2013】

void TransferString(const char * pInputStr, long lInputLen, char * pOutputStr);

int main(void)

{

char * pInputStr = "Axs3mWss";

long lInputLen = 8;

char * pOutputStr;

pOutputStr = (char *)malloc(8+1);

TransferString(pInputStr, lInputLen, pOutputStr);

printf("%s\n",pOutputStr);

return 0;

本文来源:http://www.gbppp.com/jy/440180/

推荐访问:华为2013年财务报表 华为年报2013

热门文章