华为机试题目参考1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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]; }