2012华为机试--成都.doc_第1页
2012华为机试--成都.doc_第2页
2012华为机试--成都.doc_第3页
2012华为机试--成都.doc_第4页
2012华为机试--成都.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华为南京地区校园招聘软件类上机考试说明 同学您好!欢迎您应聘华为公司。软件研发类岗位(软件研发、云计算、操作系统开发、数据库开发)需要提前进行上机考试。现将上机考试做如下说明。一、 题目类别本次上机考试题目设置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_typei = 1,表示专家评委,judge_typei = 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数分别取一个平均分(平均分取整),然后,总分 = 专家分*0.6 + 大众评委*0.4,总分取整。如果没有大众评委,则总分 = 专家评委平均分,总分取整。函数最终返回选手得分。函数接口:int cal_score(int score,int judge_type,int n)#include #include #include #include #define N 5int 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;iN;i+)if(judge_typei=1)iExpert = iExpert + scorei;iNumber+;elseiPeople = iPeople + scorei;if(iNumber=N)iTotalPoints = (int)(iExpert/N);elseiExpert = (int)(iExpert/iNumber);iPeople = (int)(iPeople/(N - iNumber);iTotalPoints = (int)(iExpert*0.6 + iPeople*0.4);return iTotalPoints;int main()int scoreN;int judge_typeN;int iNumberLast = 0;int i;printf(Please input the %d score:n,N);for(i=0;iN;i+)scanf(%d,&scorei);printf(Please input the level(1:Expert,2:People)n);for(i=0;iN;i+)scanf(%d,&judge_typei);iNumberLast = cal_score(score,judge_type,N);printf(The last score is %dn,iNumberLast);return 0;2. 给定一个数组input,如果数组长度n为奇数,则将数组中最大的元素放到output数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到output数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。例如:input = 3,6,1,9,7output = 3,7,9,6,1;input = 3,6,1,9,7,8output = 1,6,8,9,7,3#include using namespace std;int sort(int input,int n,int output);int main()int i,n;int input100,output100;cout请输入数组的长度:n;cout请输入该数组:endl;for(i=0;iinputi;sort(input,n,output);cout排序后的结果是:endl;for(i=0;in;i+)coutoutputi ;coutendl;return 0;int sort(int input,int n,int output)int i,j;int temp;int m;int k;for(i=0;in;i+)for(j=i+1;jinputj)temp = inputi;inputi = inputj;inputj = temp;cout升序排列数组:endl;for(i=0;in;i+)coutinputi ;coutendl;if(n%2=0)m = n/2;k = n-1;outputm = inputk-;for(j=1;jm;j+)outputm-j = inputk-;outputm+j = inputk-;output0 = input0;elsem = (n-1)/2;k = n-1;outputm = inputk-;for(j=1;jm;j+)outputm-j = inputk-;outputm+j = inputk-;return *output;#include #include #include void sort(int input,int n,int output)int i,j;int k = 1;int temp;int med;for(i=0;in;i+)for(j=0;jinputj+1)temp = inputj;inputj = inputj+1;inputj+1 = temp;if(n%2!=0)for(i=0;in;i+)printf(%2d,inputi);printf(n);med = (n-1)/2;outputmed = inputn-1;for(i=1;i=med;i+)outputmed-i = inputn-1-k;outputmed+i = inputn-2-k;k = k+2;elsefor(i=0;in;i+)printf(%2d,inputi);printf(n);med = n/2;outputmed = inputn-1;for(i=1;i=med-1;i+)outputmed-i = inputn-1-k;outputmed+i = inputn-2-k;k = k+2;output0 = input0;for(i=0;in;i+)printf(%2d,outputi);printf(n);int main()int a6 = 3,6,1,9,7,8;int b6 = 0;for(int i=0;i6;i+)printf(%2d,ai);printf(n);sort(a,6,b);return 0;3. 操作系统任务调度问题。操作系统任务分为系统任务和用户任务两种。其中,系统任务的优先级=50且=255。优先级大于255的为非法任务,应予以剔除。现有一任务队列task,长度为n,task中的元素值表示任务的优先级,数值越小,优先级越高。函数scheduler实现如下功能,将task中的任务按照系统任务、用户任务依次放到system_task数组和user_task数组中(数组中元素的值是任务在task数组中的下标),并且优先级高的任务排在前面,数组元素为-1表示结束。例如:task = 0,30,155,1,80,300,170,40,99;system_task = 0,3,1,7,-1user_task = 4,8,2,6,-1函数接口:void scheduler(int task,int n,int system_task,int user_task)#include #include #include #include void scheduler(int task,int n,int system_task,int user_task)int i;int j = 0;int k = 0;int s;int temp;for(i=0;in;i+)if(taski=50&taski=255)user_taskk+ = i;system_taskj = -1;user_taskk = -1;for(i=1;ij;i+)for(s=0;stasksystem_tasks+1)temp = system_tasks;system_tasks = system_tasks+1;system_tasks+1 = temp;for(i=0;i=j;i+)coutsystem_taski ;coutendl;for(i=1;ik;i+)for(s=0;staskuser_tasks+1)temp = user_tasks;user_tasks = user_tasks+1;user_tasks+1 = temp;for(i=0;i=k;i+)coutuser_taski ;coutendl;int main()int task9 = 0,30,155,1,80,300,170,40,99;int system_task9 = 0;int user_task9 = 0;scheduler(task,9,system_task,user_task);return 0;#include #include #include #include void scheduler(int task,int n,int system_task,int user_task)int i;int j = 0;int *p,*pp,*p_user,*pp_user;int index = 0;int count,count2;int min = 0;int k = 0;p = (int*)malloc(sizeof(int)*n);for(i=0;in;i+)pi = 0;pp = (int*)malloc(sizeof(int)*n);for(i=0;in;i+)ppi = 0;p_user = (int*)malloc(sizeof(int)*n);for(i=0;in;i+)p_useri = 0;pp_user = (int*)malloc(sizeof(int)*n);for(i=0;in;i+)pp_useri = 0;for(i=0;in;i+)if(taski50)system_taskj = taski;ppj = i;j+;count = j;else if(taski=255)user_taskk = taski;pp_userk = i;k+;count2 = k;elsetaski = taski;for(i=0;icount;i+)printf(%3d,system_taski);printf(n);for(i=0;icount;i+)min = system_task0;for(j=1;jcount;j+)if(system_taskjmin)min = system_taskj;pi = j;system_taskpi = 51;ppcount = -1;for(i=0;icount;i+)printf(%3d ,pppi);printf(%3dn,ppcount);for(i=0;icount2;i+)printf(%4d,user_taski);printf(n);for(i=0;icount2;i+)min = user_task0;for(j=1;jcount2;j+)if(user_taskjmi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论