华为2012秋季校招机试题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1、选秀节目打分,分为专家评委和大众评委,score[]数组里面存储每个评委打的分数,judge_type[]里存储与score[]数组对应的评委类别,judge_type[i]==1,表示专家评委,judge_type[i]==2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分=专家评委平均分*0.6+大众评委*0.4,总分取整。如果没有大众评委,则总分=专家评委平均分,总分取整。函数最终返回选手得分。函数接口intcal_score(intscore[],intjudge_type[],intn)viewplaincopytoclipboardprint?1.#includestdio.h2.#includestring.h3.#includeiostream.h4.#includeconio.h5.#defineN56.7.intcal_score(intscore[],intjudge_type[],intn)8.9.{10.intexpert=0;11.intdazhong=0;12.intzongfen=0;13.inti;14.intnumber=0;15.16.for(i=0;iN;i++)17.{18.if(judge_type[i]==1)19.{20.expert=expert+score[i];21.number++;22.}23.elsedazhong=dazhong+score[i];24.}25.if(number==N)26.{27.zongfen=(int)(expert/N);28.}29.else30.31.{32.expert=(int)(expert/number);33.dazhong=(int)(dazhong/(N-number));34.zongfen=int(0.6*expert+0.4*dazhong);35.36.}37.returnzongfen;38.39.}40.intmain()41.{42.intscore[N];43.intjudge_type[N];44.intnumberlast=0;45.inti;46.printf(pleaseinputthe%dscore:\n,N);47.for(i=0;iN;i++)48.scanf(%d,&score[i]);49.printf(pleaseinputthelevel(1:expert,2:dazhong)\n);50.for(i=0;iN;i++)51.scanf(%d,&judge_type[i]);52.numberlast=cal_score(score,judge_type,N);53.printf(thelastscoreis%d\n,numberlast);54.return0;55.}运行结果分析:pleaseinputthe5score:9080878991pleaseinputthelevel(1:expert,2:dazhong)12111thelastscoreis852、给定一个数组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}viewplaincopytoclipboardprint?1.#includestdio.h2.#includestring.h3.#includeconio.h4.5.6.7.voidsort(intinput[],intn,intoutput[])8.{9.inti,j;10.intk=1;11.inttemp;12.intmed;13.for(i=0;in;i++)14.for(j=0;jn-i;j++)15.if(input[j]input[j+1])16.{temp=input[j];input[j]=input[j+1];input[j+1]=temp;}17.if(n%2!=0)18.{19.for(i=0;in;i++)20.printf(%2d,input[i]);21.printf(\n);22.med=(n-1)/2;23.output[med]=input[n-1];24.for(i=1;i=med;i++)25.{26.output[med-i]=input[n-1-k];27.output[med+i]=input[n-2-k];28.k=k+2;29.30.}31.}32.else33.{34.35.for(i=0;in;i++)36.printf(%2d,input[i]);37.printf(\n);38.med=n/2;39.output[med]=input[n-1];40.for(i=1;i=med-1;i++)41.{42.output[med-i]=input[n-1-k];43.output[med+i]=input[n-2-k];44.k=k+2;45.}46.output[0]=input[0];47.}48.for(i=0;in;i++)49.printf(%2d,output[i]);50.printf(\n);51.}52.53.54.intmain()55.{56.inta[6]={3,6,1,9,7,8};57.intb[6]={0};58.for(inti=0;i6;i++)59.printf(%2d,a[i]);60.printf(\n);61.sort(a,6,b);62.return0;63.}运行结果3619781367891689733、操作系统任务调度问题。操作系统任务分为系统任务和用户任务两种。其中,系统任务的优先级50,用户任务的优先级=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,-1}user_task[]={4,8,2,6,-1}函数接口voidscheduler(inttask[],intn,intsystem_task[],intuser_task[])viewplaincopytoclipboardprint?1.#includestdio.h2.#includestring.h3.#includemalloc.h4.#includeiostream.h5.6.voidscheduler1(inttask[],intn,intsystem_task[],intuser_task[])7.{8.inti;9.intj=0;10.int*p,*pp,*p_user,*pp_user;11.intindex=0;12.intcount,count2;13.intmin=0;14.intk=0;15.p=(int*)malloc(sizeof(int)*n);16.for(i=0;in;i++)17.p[i]=0;18.pp=(int*)malloc(sizeof(int)*n);19.for(i=0;in;i++)20.pp[i]=0;21.p_user=(int*)malloc(sizeof(int)*n);22.for(i=0;in;i++)23.p_user[i]=0;24.pp_user=(int*)malloc(sizeof(int)*n);25.for(i=0;in;i++)26.pp_user[i]=0;27.28.for(i=0;in;i++)29.{30.if(task[i]50)31.{32.{33.system_task[j]=task[i];34.pp[j]=i;35.j++;36.}37.count=j;38.}39.40.elseif(task[i]=255)41.{42.43.{44.user_task[k]=task[i];45.pp_user[k]=i;46.k++;47.}48.count2=k;49.}50.elsetask[i]=task[i];51.52.}53.54.for(i=0;icount;i++)55.printf(%3d,system_task[i]);56.printf(\n);57.58.59.for(i=0;icount;i++)60.{61.min=system_task[0];62.for(j=1;jcount;j++)63.{64.65.if(system_task[j]min)66.{67.min=system_task[j];68.p[i]=j;69.}70.71.}72.system_task[p[i]]=51;73.}74.75.pp[count]=-1;76.for(i=0;icount;i++)77.printf(%3d,pp[p[i]]);78.printf(%3d\n,pp[count]);79.80.81./***********************************************************/82.83.for(i=0;icount2;i++)84.printf(%4d,user_task[i]);85.printf(\n);86.87.for(i=0;icount2;i++)88.{89.min=user_task[0];90.for(j=1;jcount2;j++)91.{92.93.if(user_task[j]min)94.{95.min=user_task[j];96.p_user[i]=j;97.}98.99.}100.user_task[p_user[i]]=256;101.}102.103.pp_user[count2]=-1;104.for(i=0;icount2;i++)105.printf(%4d,pp_user[p_user[i]]);106.printf(%3d\n,pp_user[count2]);107.108.109.}110.111.112.113.intmain()114.{115.inttask[9]={0,30,155,1,80,300,170,40,99};116.intsystem_task[9]={0};117.intuser_task[9]={0};118.scheduler1(task,9,system_task,user_task);119.return0;120.}运行结果:0301400317-115580170994826-12012华为校园招聘机试(成都)-1分类:华为准备2011-09-0820:09267人阅读评论(0)收藏举报第一道就是说算分数的问题,去掉一个最高分一个最低分,求平均分viewplaincopytoclipboardprint?1.#includestdio.h2.floatavescore(floatscore[],intn)3.{4.floatmin=0;5.floatmax=0;6.intminindex=0;

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功