1 / 11
文档名称:

(招聘面试)届华为校园招聘上机考试题.pdf

格式:pdf   大小:587KB   页数:11
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

(招聘面试)届华为校园招聘上机考试题.pdf

上传人:宝钗文档 2022/8/13 文件大小:587 KB

下载得到文件列表

(招聘面试)届华为校园招聘上机考试题.pdf

文档介绍

文档介绍:: .
(招聘面试)届华为校园招
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. #include<>
2. #include<>
3. #include<>
4. voidsort(intinput[],intn,intoutput[])5. {
6. inti,j;
7. intk=1;
8. inttemp;
9. intmed;
10. for(i=0;i<n;i++)
11. for(j=0;j<n-i;j++)
12. if(input[j]>input[j+1])
13. {temp=input[j];input[j]=input[j+1];input[j+1]=temp;}
14. if(n%2!=0)
15. {
16. for(i=0;i<n;i++)
17. printf("%2d",input[i]);
18. printf("\n");
19. med=(n-1)/2;
20. output[med]=input[n-1];
21. for(i=1;i<=med;i++)
22. {
23. output[med-i]=input[n-1-k];
24. output[med+i]=input[n-2-k];
25. k=k+2;
26. }
27. }
28. else
29. {
30. for(i=0;i<n;i++)
31. printf("%2d",input[i]);
32. printf("\n");
33. med=n/2;
34. output[med]=input[n-1];
35. for(i=1;i<=med-1;i++)
36. {
37. output[med-i]=input[n-1-k];
38. output[med+i]=input[n-2-k];
39. k=k+2;
40. }
41. output[0]=input[0];
42. }
43. for(i=0;i<n;i++)
44. printf("%2d",output[i]);
45. printf("\n");
46. }
47. intmain()
48. {49. inta[6]={3,6,1,9,7,8};
50. intb[6]={0};
51. for(inti=0;i<6;i++)
52. printf("%2d",a[i]);
53. printf("\n");
54. sort(a,6,b);
55. return0;
56. }
运行结果
361978
136789
168973
3、操作系统任务调度问题。操作系统任务分为系统任务和用户任务俩种。其中,系统任务
的优先级<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[