招聘面试届华为校园招聘上机考试题Word文档格式.docx

上传人:b****6 文档编号:19086884 上传时间:2023-01-03 格式:DOCX 页数:13 大小:18.51KB
下载 相关 举报
招聘面试届华为校园招聘上机考试题Word文档格式.docx_第1页
第1页 / 共13页
招聘面试届华为校园招聘上机考试题Word文档格式.docx_第2页
第2页 / 共13页
招聘面试届华为校园招聘上机考试题Word文档格式.docx_第3页
第3页 / 共13页
招聘面试届华为校园招聘上机考试题Word文档格式.docx_第4页
第4页 / 共13页
招聘面试届华为校园招聘上机考试题Word文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

招聘面试届华为校园招聘上机考试题Word文档格式.docx

《招聘面试届华为校园招聘上机考试题Word文档格式.docx》由会员分享,可在线阅读,更多相关《招聘面试届华为校园招聘上机考试题Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

招聘面试届华为校园招聘上机考试题Word文档格式.docx

21.}

22.if(number==N)

23.{

24.zongfen=(int)(expert/N);

25.}

26.else

27.{

28.expert=(int)(expert/number);

29.dazhong=(int)(dazhong/(N-number));

30.zongfen=int(0.6*expert+0.4*dazhong);

31.}

32.returnzongfen;

33.}

34.intmain()

35.{

36.intscore[N];

37.intjudge_type[N];

38.intnumberlast=0;

39.inti;

40.printf("

pleaseinputthe%dscore:

\n"

N);

41.for(i=0;

42.scanf("

%d"

&

score[i]);

43.printf("

pleaseinputthelevel(1:

expert,2:

dazhong)\n"

);

44.for(i=0;

45.scanf("

judge_type[i]);

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

47.printf("

thelastscoreis%d\n"

numberlast);

48.return0;

49.}

运行结果分析:

pleaseinputthe5score:

9080878991

dazhong)

12111

thelastscoreis85

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}

4.voidsort(intinput[],intn,intoutput[])

5.{

6.inti,j;

7.intk=1;

8.inttemp;

9.intmed;

10.for(i=0;

n;

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;

17.printf("

%2d"

input[i]);

18.printf("

19.med=(n-1)/2;

20.output[med]=input[n-1];

21.for(i=1;

=med;

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;

31.printf("

32.printf("

33.med=n/2;

34.output[med]=input[n-1];

35.for(i=1;

=med-1;

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;

44.printf("

output[i]);

45.printf("

46.}

47.intmain()

48.{

49.inta[6]={3,6,1,9,7,8};

50.intb[6]={0};

51.for(inti=0;

6;

52.printf("

a[i]);

53.printf("

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[],intn,intsystem_task[],intuser_task[])

malloc.h>

5.voidscheduler1(inttask[],intn,intsystem_task[],intuser_task[])

6.{

7.inti;

8.intj=0;

9.int*p,*pp,*p_user,*pp_user;

10.intindex=0;

11.intcount,count2;

12.intmin=0;

13.intk=0;

14.p=(int*)malloc(sizeof(int)*n);

15.for(i=0;

16.p[i]=0;

17.pp=(int*)malloc(sizeof(int)*n);

18.for(i=0;

19.pp[i]=0;

20.p_user=(int*)malloc(sizeof(int)*n);

21.for(i=0;

22.p_user[i]=0;

23.pp_user=(int*)malloc(sizeof(int)*n);

24.for(i=0;

25.pp_user[i]=0;

26.for(i=0;

28.if(task[i]<

50)

30.{

31.system_task[j]=task[i];

32.pp[j]=i;

33.j++;

34.}

35.count=j;

36.}

37.elseif(task[i]<

=255)

38.{

39.{

40.user_task[k]=task[i];

41.pp_user[k]=i;

42.k++;

43.}

44.count2=k;

45.}

46.elsetask[i]=task[i];

47.}

48.for(i=0;

count;

49.printf("

%3d"

system_task[i]);

50.printf("

51.for(i=0;

52.{

53.min=system_task[0];

54.for(j=1;

55.{

56.if(system_task[j]<

min)

57.{

58.min=system_task[j];

59.p[i]=j;

60.}

61.}

62.system_task[p[i]]=51;

63.}

64.pp[count]=-1;

65.for(i=0;

66.printf("

pp[p[i]]);

67.printf("

%3d\n"

pp[count]);

68./***********************************************************/

69.for(i=0;

count2;

70.printf("

%4d"

user_task[i]);

71.printf("

72.for(i=0;

73.{

74.min=user_task[0];

75.for(j=1;

76.{

77.if(user_task[j]<

78.{

79.min=user_task[j];

80.p_user[i]=j;

81.}

82.}

83.user_task[p_user[i]]=256;

84.}

85.pp_user[count2]=-1;

86.for(i=0;

87.printf("

pp_user[p_user[i]]);

88.printf("

pp_user[count2]);

89.}

90.intmain()

91.{

92.inttask[9]={0,30,155,1,80,300,170,40,99};

93.intsystem_task[9]={0};

94.intuser_task[9]={0};

95.scheduler1(task,9,system_task,user_task);

96.return0;

97.}

运行结果:

030140

0317-1

1558017099

4826-1

2012华为校园招聘机试(成均)-1

第壹道就是说算分数的问题,去掉壹个最高分壹个最低分,求平均分

2.floatavescore(floatscore[],intn)

3.{

4.floatmin=0;

5.floatmax=0;

6.intminindex=0;

7.intmaxindex=0;

8.floatsum=0;

9.min=score[0];

10.for(inti=0;

11.if(score[i]<

12.{

13.min=score[i];

14.minindex=i;

15.}

16.score[minindex]=0;

17.max=score[0];

19.if(score[i]>

max)

20.{

21.max=score[i];

22.maxindex=i;

23.}

24.score[maxindex]=0;

25.for(i=0;

26.sum+=score[i];

27.sum=sum/(n-2);

28.returnsum;

29.}

30.voidmain()

31.{

32.floatscore[6]={70,80,90,98,87,86};

33.floatlastscore;

34.lastscore=avescore(score,6);

35.printf("

thelastscoreis:

%5.2f\n"

lastscore);

85.75

2012华为校园招聘机试(成均)-2

华为准备2011-09-0822:

23324人阅读评论

(2)收藏举报

第二道:

对壹个数组,将数组中偶数从大到小排序,奇数从小到大排序,奇数和偶数交叉着放且输出数组第壹位放奇数若奇数和偶数不等长,则把剩下的直接放到数组中。

-------------------思路:

先进行奇偶判断,得到奇数和偶数数组。

然后对俩数组排序,进行长度判断,最后组织数据。

3.voidjiou(inta[],intn)

4.{

5.int*p1;

6.int*p2;

7.inti,j;

8.intk=0;

9.intkk=0;

10.intcount1=0;

11.intcount2=0;

12.inttemp;

13.inttemp2;

14.intm=0;

15.p1=(int*)malloc(sizeof(int)*n);

16.p2=(int*)malloc(sizeof(int)*n);

17.for(i=0;

18.{

19.p1[i]=0;

20.p2[i]=0;

22.for(i=0;

24.if((a[i]%2)!

25.{p2[kk++]=a[i];

27.{p1[k++]=a[i];

28.}

29.count1=k;

30.count2=kk;

31.for(i=0;

p2[i]);

33.printf("

34.for(i=0;

35.for(j=0;

count2-1-i;

36.if(p2[j]>

p2[j+1])

37.{temp2=p2[j];

p2[j]=p2[j+1];

p2[j+1]=temp2;

38.for(i=0;

39.printf("

count1;

42.printf("

p1[i]);

45.for(j=0;

count1-i;

46.if(p1[j]<

p1[j+1])

47.{temp=p1[j];

p1[j]=p1[j+1];

p1[j+1]=temp;

51.if(count1>

count2)

53.for(i=0;

54.{

55.a[i+m]=p2[i];

56.a[i+1+m]=p1[i];

57.m=m+1;

58.}

59.for(i=0;

count1-count2;

60.a[2*count2+i]=p1[i+count2];

62.else

63.{

64.for(i=0;

65.{

66.a[i+m]=p2[i];

67.a[i+1+m]=p1[i];

68.m=m+1;

69.}

70.for(i=0;

count2-count1;

71.a[2*count1+i]=p2[i+count1];

72.}

73.for(i=0;

74.printf("

75.printf("

%\n"

76.}

77.voidmain()

79.inta[10]={2,3,14,6,2,15,12,14,4,11};

80.jiou(a,10);

31511

31115

2146212144

1414126422

314111415126422

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1