- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2012华为校园招聘上机笔试题
?1. 从两个数组的最后一个元素比较两个数组中不同元素的个数,如有array1[5]={77,21,1,3,5}, array2[3]={1,3,5},从array1[4]与array2[2]比较开始,到array1[2]与array[0]比较结束。这样得出它们不同的元素个数为0,若array1[6]={77,21,1,3,5,7},那么他们不同的元素为3。
函数原型为 int compare_array( int len1, int array1[], int len2, int array2[] );
其中,len1与len2分别为数组array1[]和array2[]的长度,函数返回值为两个数组不同元素的个数。
?以下是上题的函数实现://diff_num.cpp
#includestdio.h
int compare_array(int len1,int array1[],int len2,int array2[])
{
int i,t,small,num=0;
//把两数组倒置
for(i=0;ilen1/2;i++)
{
t=array1[i];
array1[i]=array1[len1-i-1];
array1[len1-i-1]=t;
}
for(i=0;ilen2/2;i++)
{
t=array2[i];
array2[i]=array2[len2-i-1];
array2[len2-i-1]=t;
}
//输出倒置后的两数组
/* for(i=0;ilen1;i++)
printf(%d ,array1[i]);
printf(\n);
for(i=0;ilen2;i++)
printf(%d ,array2[i]);
*/ printf(\n);
if(len1len2)
small=len2;
else
small=len1;
num=small;
for(i=0;ismall;i++)
{
if(array1[i]==array2[i])
num--;
}
printf(num=%d\n,num);
return num;
}
void main()
{
int array1[5]={77,21,1,3,5},array2[3]={1,3,5};
int len1=5,len2=3;
compare_array(len1,array1,len2,array2);
}
如同往年,华为今年刚一开学就来学校宣讲了,9月6日和7日安排了软件研发类的上机笔试(其他职位没有笔试,直接通过网上注册的简历筛选并安排面试)。
说下华为上机考试的特点和一些注意事项:
(1)考试时长为2个小时,总共有3个题(去年是2个题,难度要比今年大些),使用的是VC 6.0;
(2)3个题目中大致第一个题是最简单的,第三个题是最难的,这个难度只是假设你对所有的题都不熟悉而言的,所以在拿到题目过后一定要把所有题目过一遍,弄懂它们的要点,看是否有自己熟悉的题目,也做到心里有数。这算得上是我昨天笔试的时候的一个教训吧;
(3)从服务器上下载题目下来后最好能把工程保存到在电脑重启后不会自动还原的磁盘分区下面,这样不致由于各种意外因素电脑重启过后编的程序不会消失;
(4)不要改动所给函数的原型,可以自己添加函数。另外,华为提供的工程是将Main函数隐藏了的,所以自己不用再添加Main函数。
以上便是我对于这次考试了解的一些情况,下面说说我做的3个笔试题(题意我只能大概的按我的理解组织下)。compare_array?
1 int compare_array( int len1, int array1[], int len2, int array2[] ) 2 { 3 int i; 4 /*两个数组最小程度*/ 5 int min_len; 6 /*两个数组不同元素的个数,初始化为0*/ 7 int diff_num=0; 8 9 /*找出两个数组的最小的长度*/10 len1len2 ? (min_len=len1) : (min_len=len2);11 12 for( i=1; i=min_len; i++ )13 {14 if( array1[len1-i] != array2[len2-i] )15 diff_num++;16 }17 18 return diff_num;19 }
2.?
您可能关注的文档
- 2013二建建筑实务真题,有详解,教材.doc
- 2013高考试题——文综地理(新课标I卷)解析版教材.doc
- 2013出入境检验检验局复试题教材.doc
- 2013保险基础知识模拟试题及答案[1]教材.doc
- 2013-2015全国卷政治题教材.doc
- 2013板电力土建专业强制性条文执行记录表模板教材.doc
- 2013-2015年公共课程《实用急救技术》试题答案,集各家所成教材.doc
- 2013-2015年会考试题必修一分章节梳理教材.doc
- 2013-2016年一级建造师建筑实务考试真题答案及解析(完整文字版)教材.doc
- 2013-2015国内外时政(精华版)复习教材.doc
- 2025至2030年中国穿销地板行业投资前景及策略咨询研究报告.docx
- 海上风电行业2025年技术进步与产业升级研究报告.docx
- 数字化转型助力城郊休闲农业高质量发展的路径.docx
- 航空物流市场增长动力研究报告:2025年航空货运枢纽建设绿色环保.docx
- 2025年厨房用品跨境电商仓储布局优化与物流信息化建设研究.docx
- 跨境电商物流时效提升新思路:2025年智能化方案剖析.docx
- 食品行业2025年质量安全追溯体系在食品安全国际合作中的应用研究报告.docx
- 金融科技企业估值方法与投资策略在金融科技金融科技证券中的应用报告2025.docx
- 全球钠离子电池产业链上下游企业竞争力分析白皮书.docx
- 2025-2026学年高中数学苏教版2019必修第二册-苏教版2019教学设计合集.docx
文档评论(0)