文档介绍:2012 届华为校园招聘上机考试题目( 9 月 6 日下午 1 点场)
分类: 华为准备 2011-09-08 15:10 281 人阅读 评论 (0) 收藏 举报
在网上看到华为在有的地方已经开始机试了, 于是决erlast);
54. return 0;
55. }
运行结果分析:
please input the 5 score:
90 80 87 89 91
please input the level(1:expert,2:dazhong)
12111
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?
#include<>
#include<>
#include<>
7. void sort( int input[], int n, int output[])
{
9.
int
i,j;
10.
int
k=1;
11.
int
temp;
12.
int
med;
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;
45.
}
46.
output[0]=input[0];
47.
}
48.
for(i=0;i<n;i++)
49.
printf("%2d",output[i]);
50.
printf("\n");
}
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.