华为秋季校招时候的上机题库,把这些题都做会了,应该就没有问题了
资源推荐
资源详情
资源评论

1、选秀节目打分,分为专家评委和大众评委,score[] 数组里面存储每个评委打的分数
judge_type[] 里存储与 score[] 数组对应的评委类别,judge_type[i] == 1,表示专家评委
judge_type[i] == 2,表示大众评委,n 表示评委总数。打分规则如下:专家评委和大众评
委的分数先分别取一个平均分(平均分取整),然后,总分 = 专家评委平均分2 *0.6 + 大
众评委 * 0.4,总分取整。如果没有大众评委,则 总分 = 专家评委平均分,总分取整。函
数最终返回选手得分。
函数接口22 int cal_score(int score[], int judge_type[], int n)
view plaincopy to clipboardprint?
1. #include<stdio.h>
2. #include<string.h>
3. #include<iostream.h>
4. #include<conio.h>
5. #defineN5
6.
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;i<N;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. 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. 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;i<N;i++)
48. scanf("%d",&score[i]);
49. printf("pleaseinputthelevel(1:expert,2:dazhong)\n");
50. for(i=0;i<N;i++)
51. scanf("%d",&judge_type[i]);
52. numberlast=cal_score(score,judge_type,N);
53. printf("thelastscoreis%d\n",numberlast);
54. return0;
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<stdio.h>
2. #include<string.h>
3. #include<conio.h>
4.
5.
6.
7. voidsort(intinput[],intn,intoutput[])
8. {
9. inti,j;
10. intk=1;
11. inttemp;
12. intmed;
13. for(i=0;i<n;i++)
14. for(j=0;j<n-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;i<n;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. else
33. {
34.
35. for(i=0;i<n;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;
剩余11页未读,继续阅读




上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
已下载
下载帮助

看过该资源的人还看了
没有合适的资源?快使用搜索试试~ 我知道了~
安全验证
文档复制为VIP权益,开通VIP直接复制

- 1
- 2
- 3
- 4
- 5
- 6
- 24
前往页