华为机试题目参考1

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华为南京地区校园招聘软件类上机考试说明同学您好!

欢迎您应聘华为公司。软件研发类岗位(软件研发、云计算、操作系统开发、数据库开发)需要提前进行上机考试。现将上机考试做如下说明。

一、题目类别

本次上机考试题目设置C/C++、Java两个类别,根据个人情况选作一个类别。

二、题目数量

每个考生有三道题,第一二道题必答,第三道题为附加题可以选作,附加题做出,成绩会计入总分。

三、考试时间安排

1、简历筛选后,从9月17日开始分批安排上机考试

2、每个考生上机考试时间为2小时

一、上机考试步骤

1、打开IE输入服务器的IP地址或者直接打开收藏夹中已经收藏好的地址;

2、输入姓名和手机号,选择考试语言,提交登录:

3、登录后会进入试题说明页面,考试阅读完试题要求后,在页面下方点击下载试题框架并解压到D盘。如果是C/C++则用VC打开工程进行编程,只在func.cpp文件中进行函数编写,函数名已经定义好;如果是Java则用Eclips打开Java工程进行编程,只在SWTest.java文件中进行函数编写,函数名已经定义好。注意,考生不要进行任何IO输入输出的处理(题目说明中已经有写了),否则会得0分。

4、编完代码并编译和调试通过后,点击试题页面下方的按钮,在弹出的窗口中,如果是C/C++则将test.exe和func.cpp拷贝到一个名为test的目录中然后打包该目录上传,如果是Java则将工程仍然打包为SWTest.rar一次性上传(这个过程非常重要,否则会因无法自动判卷而得0分)。上传之后页面会显示“提交成功”,然后关闭所有IE窗口并清空客户机中您所创建的所有内容后结束考试离开考场。

二、如何阅卷

1、考生提交试卷后,我们在服务器后台执行系统阅卷程序,进行自动判卷,不进行人工阅卷。

2、系统设置了多个测试用例,根据用例执行的情况判断考生所上机考试的分数。

三、样题

编写一个函数,统计出具有n个元素的一维数组中大于等于所有元素平均值的元素的个数并返回。

预祝您上机考试顺利!

华为南京校园招聘组

2011年9月

2012华为校园招聘机试(成都)

1.选秀节目打分,分为专家评委和大众评委,score[]数组里面存储每个评委打的分数,

judge_type[]里存储与score[]数组对应的评委类别,judge_type[i] == 1,表示专家评委,judge_type[i] == 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数分别取一个平均分(平均分取整),然后,总分= 专家分*0.6 + 大众评委*0.4,总分取整。如果没有大众评委,则总分= 专家评委平均分,总分取整。函数最终返回选手得分。

函数接口:int cal_score(int score[],int judge_type[],int n)

#include

#include

#include

#include

#define N 5

int cal_score(int score[],int judge_type[],int n) {

int iExpert = 0;

int iPeople = 0;

int iTotalPoints = 0;

int i;

int iNumber = 0;

for(i=0;i

{

if(judge_type[i]==1)

{

iExpert = iExpert + score[i];

iNumber++;

}

else

{

iPeople = iPeople + score[i];

}

}

if(iNumber==N)

{

iTotalPoints = (int)(iExpert/N);

}

else

{

iExpert = (int)(iExpert/iNumber);

iPeople = (int)(iPeople/(N - iNumber));

iTotalPoints = (int)(iExpert*0.6 + iPeople*0.4); }

return iTotalPoints;

}

int main()

{

int score[N];

int judge_type[N];

int iNumberLast = 0;

int i;

printf("Please input the %d score:\n",N);

for(i=0;i

{

scanf("%d",&score[i]);

}

printf("Please input the level(1:Expert,2:People)\n");

for(i=0;i

{

scanf("%d",&judge_type[i]);

}

iNumberLast = cal_score(score,judge_type,N);

printf("The last score is %d\n",iNumberLast);

return 0;

}

2.给定一个数组input[],如果数组长度n为奇数,则将数组中最大的元素放到output[]数

组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到output[]数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。

例如:input[] = {3,6,1,9,7} output[] = {3,7,9,6,1};

input[] = {3,6,1,9,7,8} output[] = {1,6,8,9,7,3}

#include

using namespace std;

int sort(int input[],int n,int output[]);

int main()

{

int i,n;

int input[100],output[100];

cout<<"请输入数组的长度:"<

cin>>n;

cout<<"请输入该数组:"<

for(i=0;i

{

cin>>input[i];

}

相关文档
最新文档