好文档 - 专业文书写作范文服务资料分享网站

XX届华为校园招聘上机考试题

天下 分享 时间: 加入收藏 我要投稿 点赞

2012届华为校园招聘上机考试题目(9月6日下午1点场)

分类: 华为准备 2011-09-08 15:10 281人阅读 评论(0) 收藏 举报

在网上看到华为在有的地方已经开始机试了,于是决定自己先编着试试。下面是题目和自己写的代码。

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) view plaincopy to clipboardprint?

1. #include 2. #include 3. #include 4. #include 5. #define N 5 6.

7. int cal_score(int score[], int judge_type[], int n) 8. 9. {

10. int expert=0; 11. int dazhong=0; 12. int zongfen=0; 13. int i; 14. int number=0; 15.

16. for(i=0;i

18. if(judge_type[i]==1) 19. {

20. expert=expert+score[i]; 21. number++; 22. }

23. else dazhong=dazhong+score[i]; 24. }

25. if(number==N) 26. {

27. zongfen=(int)(expert/N); 28. } 29. else 30. 31. {

32. expert=(int)(expert/number); 33. dazhong=(int)(dazhong/(N-number)); 34. zongfen=int(0.6*expert+0.4*dazhong); 35. 36. }

37. return zongfen; 38. 39. }

40. int main() 41. {

42. int score[N]; 43. int judge_type[N]; 44. int numberlast=0; 45. int i;

46. printf(\input the %d score:\\n\ 47. for(i=0;i

48. scanf(\

49. printf(\input the level(1:expert,2:dazhong)\\n\

50. for(i=0;i

51. scanf(\ 52. numberlast=cal_score(score,judge_type,N); 53. printf(\last score is %d\\n\

54. return 0; 55. }

运行结果分析:

please input the 5 score: 90 80 87 89 91

please input the level(1:expert,2:dazhong) 1 2 1 1 1

the last score is 85

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}

view plaincopy to clipboardprint?

1. #include 2. #include 3. #include 4. 5. 6.

7. void sort(int input[], int n, int output[]) 8. {

9. int i,j; 10. int k=1; 11. int temp;

12. int med; 13. for(i=0;i

14. for(j=0;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. 20. 21. 22. 23. 24. 25. 26.

27.

28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.

{

for(i=0;i

printf(\ printf(\ med=(n-1)/2;

output[med]=input[n-1]; for(i=1;i<=med;i++) {

output[med-i]=input[n-1-k];

output[med+i]=input[n-2-k];

k=k+2; } } else {

for(i=0;i

printf(\ printf(\ med=n/2;

output[med]=input[n-1]; for(i=1;i<=med-1;i++) {

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;i

49. printf(\ 50. printf(\ 51. } 52. 53.

54. int main() 55. {

56. int a[6]={3,6,1,9,7,8}; 57. int b[6]={0}; 58. for(int i=0;i<6;i++) 59. printf(\ 60. printf(\ 61. sort(a,6,b); 62. return 0; 63. }

运行结果 3 6 1 9 7 8 1 3 6 7 8 9 1 6 8 9 7 3

3、操作系统任务调度问题。操作系统任务分为系统任务和用户任务两种。其中,系统任务的优先级 < 50,用户任务的优先级 >= 50且 <= 255。优先级大于255的为非法任务,应予以剔除。现有一任务队列task[],长度为n,task中的元素值表示任务的优先级,数值越小,优先级越高。函数scheduler实现如下功能,将task[] 中的任务按照系统任务、

XX届华为校园招聘上机考试题

2012届华为校园招聘上机考试题目(9月6日下午1点场)分类:华为准备2011-09-0815:10281人阅读评论(0)收藏举报在网上看到华为在有的地方已经开始机试了,于是决定自己先编着试试。下面是题目和自己写的代码。1、选秀节目打分,分为专家评委和大众评委,score[]数组里面存储每个评委打的分数,judge_typ
推荐度:
点击下载文档文档为doc格式
9enl02kicv3pebe0io3703gjy5zcvb00lwn
领取福利

微信扫码领取福利

微信扫码分享