《XXXX届华为校园招聘上机考试题17084.docx》由会员分享,可在线阅读,更多相关《XXXX届华为校园招聘上机考试题17084.docx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2012届华为校园招聘上机考试题目(9月6日下午1点场)分类: 华华为准备22011-09-008 155:102281人阅阅读评论(0)收藏举报在网上看到到华为在有有的地方已已经开始机机试了,于于是决定自自己先编着着试试。下下面是题目目和自己写写的代码。1、选秀节节目打分,分分为专家评评委和大众众评委,sscoree 数数组里面存存储每个评评委打的分分数,juudge_typee 里里存储与 scorre 数组对应应的评委类类别,juudge_typeei = 11,表示专专家评委,jjudgee_typpei = 2,表示示大众评委委,n表示示评委总数数。打分规规则如下:专家评委委和大众评
2、评委的分数数先分别取取一个平均均分(平均均分取整),然然后,总分分 = 专专家评委平平均分 *0.6 + 大众评委委 * 00.4,总总分取整。如如果没有大大众评委,则则 总分 = 专家家评委平均均分,总分分取整。函函数最终返返回选手得得分。函数接口口 iint ccal_sscoree(intt scoore, innt juudge_typee, int n)view plaiincoppy too cliipboaardprrint?1. #incllude 2. #incllude 3. #incllude 4. #incllude 5. #defiineNN5 6. 7. intcc
3、al_sscoree(inttscoore,inntjuudge_typee,intnn)8. 9. 10. iinteexperrt=0;11. iintddazhoong=00;12. iintzzongffen=00;13. iintii;14. iintnnumbeer=0;15. 16. ffor(ii=0;iiN;ii+)17. 18. iif(juudge_typeei=1)19. 20. eexperrt=exxpertt+scooreii;21. nnumbeer+;22. 23. eelsedazhhong=dazhhong+scorrei;24. 25. iif(nuum
4、berr=N)26. 27. zzongffen=(int)(expeert/NN);28. 29. eelse30. 31. 32. eexperrt=(iint)(expeert/nnumbeer);33. ddazhoong=(int)(dazhhong/(N-nnumbeer);34. zzongffen=iint(00.6*eexperrt+0.4*daazhonng);35. 36. 37. rreturrnzoongfeen;38. 39. 40. intmmain()41. 42. iintsscoreeN;43. iintjjudgee_typpeN;44. iintnnum
5、beerlasst=0;45. iintii;46. pprinttf(ppleasseinnputthe%dsscoree:n,N);47. ffor(ii=0;iiN;ii+)48. sscanff(%dd,&sscoreei);49. pprinttf(ppleasseinnputtheleveel(1:expeert,22:dazzhongg)n);50. ffor(ii=0;iiN;ii+)51. sscanff(%dd,&jjudgee_typpei);52. nnumbeerlasst=caal_sccore(scorre,juudge_typee,N);53. pprinttf
6、(tthellastscorreiss%dn,nnumbeerlasst);54. rreturrn0;55. 运行结果分分析:pleasse innput the 5 sccore:90 880 877 89 91plleasee inpput tthe llevell(1:eexperrt,2:dazhhong)1 2 1 1 1thee lasst sccore is 885 2、给定一一个数组iinputt ,如如果数组长长度n为奇奇数,则将将数组中最最大的元素素放到 ooutpuut 数组最中中间的位置置,如果数数组长度nn为偶数,则则将数组中中最大的元元素放到 outpput 数组
7、中中间两个位位置偏右的的那个位置置上,然后后再按从大大到小的顺顺序,依次次在第一个个位置的两两边,按照照一左一右右的顺序,依依次存放剩剩下的数。 例如:inpuut = 33, 6, 1, 9, 77 outpput = 3, 77, 9, 6, 1; inpuut = 33, 6, 1, 9, 77, 8 outpput =1, 66, 8, 9, 7, 33view plaiincoppy too cliipboaardprrint?1. #incllude 2. #incllude 3. #incllude 4. 5. 6. 7. voidsortt(inttinpput,inntn,i
8、nttouttput)8. 9. iintii,j;10. iintkk=1;11. iintttemp;12. iintmmed;13. ffor(ii=0;iin;ii+)14. ffor(jj=0;jjiinputtj+11)16. tempp=inpputjj;innputj=iinputtj+11;innputj+1=temmp;17. iif(n%2!=00)18. 19. ffor(ii=0;iin;ii+)20. pprinttf(%2d,inpuuti);21. pprinttf(n);22. mmed=(n-1)/2;23. ooutpuutmeed=iinputtn-11
9、;24. ffor(ii=1;ii=meed;i+)25. 26. ooutpuutmeed-i=inpputnn-1-kk;27. ooutpuutmeed+i=inpputnn-2-kk;28. kk=k+22;29. 30. 31. 32. eelse33. 34. 35. ffor(ii=0;iin;ii+)36. pprinttf(%2d,inpuuti);37. pprinttf(n);38. mmed=nn/2;39. ooutpuutmeed=iinputtn-11;40. ffor(ii=1;ii=meed-1;i+)41. 42. ooutpuutmeed-i=inpput
10、nn-1-kk;43. ooutpuutmeed+i=inpputnn-2-kk;44. kk=k+22;45. 46. ooutpuut0=inpput00;47. 48. ffor(ii=0;iin;ii+)49. pprinttf(%2d,outpputii);50. pprinttf(n);51. 52. 53. 54. intmmain()55. 56. iintaa6=3,66,1,99,7,88;57. iintbb6=0;58. ffor(intii=0;ii6;ii+)59. pprinttf(%2d,ai);60. pprinttf(n);61. ssort(a,6,b);
11、62. rreturrn0;63. 运行结果3 6 11 9 77 81 3 6 7 8 91 66 8 99 7 333、操作作系统任务务调度问题题。操作系系统任务分分为系统任任务和用户户任务两种种。其中,系系统任务的的优先级 = 50且且 = 255。优优先级大于于255的的为非法任任务,应予予以剔除。现现有一任务务队列taask,长度为为n,taask中的的元素值表表示任务的的优先级,数数值越小,优优先级越高高。函数sscheddulerr实现如下下功能,将将taskk 中中的任务按按照系统任任务、用户户任务依次次存放到 systtem_ttask 数组组和 usser_ttask 数组
12、组中(数组组中元素的的值是任务务在tassk 数组中的的下标),并并且优先级级高的任务务排在前面面,数组元元素为-11表示结束束。 例如:taskk = 0, 30, 1555, 1, 80, 3000, 1770, 440, 999 syystemm_tassk = 00, 3, 1, 7, -1 usser_ttask = 4, 8, 22, 6, -1 函数接口口 voidd schheduller(iint ttask, iint nn, innt syystemm_tassk, intt useer_taask)view plaiincoppy too cliipboaardprri
13、nt?1. #incllude 2. #incllude 3. #incllude 4. #incllude 5. 6. voidscheeduleer1(iintttask,iintnn,inntsyystemm_tassk,inttuseer_taask)7. 8. iintii;9. iintjj=0;10. iint*p,*ppp,*pp_useer,*ppp_usser;11. iintiindexx=0;12. iintccountt,couunt2;13. iintmmin=00;14. iintkk=0;15. pp=(innt*)mmallooc(siizeoff(int)*
14、n);16. ffor(ii=0;iin;ii+)17. ppi=0;18. ppp=(iint*)mallloc(ssizeoof(int)*n);19. ffor(ii=0;iin;ii+)20. pppi=0;21. pp_useer=(iint*)mallloc(ssizeoof(int)*n);22. ffor(ii=0;iin;ii+)23. pp_useeri=0;24. ppp_usser=(int*)mallloc(ssizeoof(int)*n);25. ffor(ii=0;iin;ii+)26. ppp_usserii=0;27. 28. ffor(ii=0;iin;ii
15、+)29. 30. iif(taaskii500)31. 32. 33. ssysteem_taaskjj=taaskii;34. pppj=i;35. jj+;36. 37. ccountt=j;38. 39. 40. eelseif(taaskii=2255)41. 42. 43. 44. uuser_taskkk=taskki;45. ppp_usserkk=i;46. kk+;47. 48. ccountt2=k;49. 50. eelsetaskki=taskki;51. 52. 53. 54. ffor(ii=0;iicouunt;ii+)55. pprinttf(%3d,syst
16、tem_ttaski);56. pprinttf(n);57. 58. 59. ffor(ii=0;iicouunt;ii+)60. 61. mmin=ssysteem_taask00;62. ffor(jj=1;jjcouunt;jj+)63. 64. 65. iif(syystemm_tasskjminn)66. 67. mmin=ssysteem_taaskjj;68. ppi=j;69. 70. 71. 72. ssysteem_taaskppi=51;73. 74. 75. pppcoount=-1;76. ffor(ii=0;iicouunt;ii+)77. pprinttf(%3
17、d,ppppi);78. pprinttf(%3dnn,pppcouunt);79. 80. 81. /*/82. 83. ffor(ii=0;iicouunt2;i+)84. pprinttf(%4d,userr_tasski);85. pprinttf(n);86. 87. ffor(ii=0;iicouunt2;i+)88. 89. mmin=uuser_taskk0;90. ffor(jj=1;jjcouunt2;j+)91. 92. 93. iif(usser_ttaskjmmin)94. 95. mmin=uuser_taskkj;96. pp_useeri=j;97. 98. 9
18、9. 100. uuser_taskkp_uuseri=256;101. 102. 103. ppp_usserccountt2=-1;104. ffor(ii=0;iicouunt2;i+)105. pprinttf(%4d,pp_uuserp_usserii);106. pprinttf(%3dnn,ppp_useercoount22);107. 108. 109. 110. 111. 112. 113. intmmain()114. 115. iintttask9=0,330,1155,1,880,3300,1170,40,99;116. iintssysteem_taask99=00;
19、117. iintuuser_taskk9=0;118. sscheddulerr1(taask,99,sysstem_taskk,useer_taask);119. rreturrn0;120. 121. 运行结果:0 300 1 400 33 1 7 -11555 800 1700 9994 8 2 6 -112012华华为校园招招聘机试(成成都)-11第一道就是是说算分数数的问题,去去掉一个最最高分一个个最低分,求求平均分view plaiincoppy too cliipboaardprrint?1. #incllude 2. floattaveescorre(flloatscorre
20、,intnn)3. 4. ffloattminn=0;5. ffloattmaxx=0;6. iintmmininndex=0;7. iintmmaxinndex=0;8. ffloattsumm=0;9. mmin=sscoree0;10. ffor(intii=0;iin;ii+)11. iif(sccoreimmin)12. 13. mmin=sscoreei;14. mmininndex=i;15. 16. sscoreeminnindeex=00;17. mmax=sscoree0;18. ffor(ii=0;iimmax)20. 21. mmax=sscoreei;22. mmax
21、inndex=i;23. 24. sscoreemaxxindeex=00;25. ffor(ii=0;iin;ii+)26. ssum+=scorrei;27. ssum=ssum/(n-2);28. rreturrnsuum;29. 30. voidmainn()31. 32. ffloattscoore66=770,800,90,98,887,866;33. ffloattlasstscoore;34. llastsscoree=aveescorre(sccore,6);35. pprinttf(tthellastscorreiss:%55.2fn,llastsscoree);36. 3
22、7. 运行结果:the llast scorre iss :855.752012华华为校园招招聘机试(成成都)-22分类: 华华为准备22011-09-008 222:233324人阅阅读评论(2)收藏举报第二道:对一个数数组,将数数组中偶数数从大到小小排序,奇奇数从小到到大排序,奇数和偶偶数交叉着着放且输出出数组第一一位放奇数数 若奇奇数和偶数数不等长,则则把剩下的的直接放到到数组中。-思路路:先进行行奇偶判断断,得到奇奇数和偶数数数组。然然后对两数数组排序,进进行长度判判断,最后后组织数据据。 view plaiincoppy too cliipboaardprrint?1. #incll
23、ude 2. #incllude 3. 4. voidjiouu(intta,inttn)5. 6. iint*p1;7. iint*p2;8. iintii,j;9. iintkk=0;10. iintkkk=0;11. iintccountt1=0;12. iintccountt2=0;13. iintttemp;14. iintttemp22;15. iintmm=0;16. pp1=(iint*)mallloc(ssizeoof(int)*n);17. pp2=(iint*)mallloc(ssizeoof(int)*n);18. ffor(ii=0;iin;ii+)19. 20. p
24、p1i=0;21. pp2i=0;22. 23. 24. ffor(ii=0;iin;ii+)25. 26. 27. iif(aai%2)!=0)28. p2kkk+=aii;29. eelse30. p1kk+=ai;31. 32. ccountt1=k;33. ccountt2=kkk;34. 35. ffor(ii=0;iicouunt2;i+)36. pprinttf(%3d,p2ii);37. pprinttf(n);38. 39. ffor(ii=0;iicouunt2;i+)40. ffor(jj=0;jjp2jj+1)42. tempp2=p22j;p2jj=p22j+11;p
25、22j+11=teemp2;43. ffor(ii=0;iicouunt2;i+)44. pprinttf(%3d,p2ii);45. pprinttf(n);46. 47. ffor(ii=0;iicouunt1;i+)48. pprinttf(%3d,p1ii);49. pprinttf(n);50. 51. 52. ffor(ii=0;iicouunt1;i+)53. ffor(jj=0;jjcouunt1-i;j+)54. iif(p11jp1jj+1)55. tempp=p1j;pp1j=p1j+1;p1j+1=temmp;56. ffor(ii=0;iicouunt2)63. 64
26、. 65. ffor(ii=0;iicouunt2;i+)66. 67. aai+mm=p22i;68. aai+11+m=p1ii;69. mm=m+11;70. 71. ffor(ii=0;iicouunt1-counnt2;ii+)72. aa2*ccountt2+i=p1i+coount22;73. 74. 75. eelse76. 77. ffor(ii=0;iicouunt1;i+)78. 79. aai+mm=p22i;80. aai+11+m=p1ii;81. mm=m+11;82. 83. 84. ffor(ii=0;iicouunt2-counnt1;ii+)85. aa2*ccountt1+i=p2i+coount11;86. 87. 88. ffor(ii=0;iin;ii+)89. pprinttf(%3d,ai);90. pprinttf(%n);91.