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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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. i nt 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

17. {

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("please input the %d score:\n",N);

47. for(i=0;i

48. scanf("%d",&score[i]);

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

50. for(i=0;i

51. scanf("%d",&judge_type[i]);

52. numberlast=cal_score(score,judge_type,N);

53. printf("the last score is %d\n",numberlast);

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. v oid 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

相关文档
最新文档