- 相關(guān)推薦
華為C語言上機(jī)試題及答案
在華為認(rèn)證考試之際,yjbys為大家獻(xiàn)上的是華為C語言上機(jī)模擬試題及答案,歡迎學(xué)習(xí)!
給定一個(gè)數(shù)組input[] ,如果數(shù)組長度n為奇數(shù),則將數(shù)組中最大的元素放到 output[] 數(shù)組最中間的位置,如果數(shù)組長度n為偶數(shù),則將數(shù)組中最大的元素放到 output[] 數(shù)組中間兩個(gè)位置偏右的那個(gè)位置上,然后再按從大到小的順序,依次在第一個(gè)位置的兩邊,按照一左一右的順序,依次存放剩下的數(shù)。
例如: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}
題目考察的是排序+規(guī)格化輸出:
容易讓人理解的解法,首先進(jìn)行排序,進(jìn)而進(jìn)行排序后的輸出:
1 #include
2 #include
3 using namespace std;
4 #define SIGN(x) ((x)>=0)?(1):(-1)
5 #define N 5
6 int Input[N]={3, 6, 1, 9, 7};
7 int Output[N];
8
9 void formatIO(int* input,int* output,int n)
10 {
11 int m=(N>>1);
12 int slid=-1;
13 if(N&0x01==0)
14 {
15 m+=1;
16 }
17 output[m]=Input[N-1];
18 for(int i=N-2;i>=0;i--)
19 {
20 output[m+slid]=input[i];
21 if(slid>0)slid=-(slid+1);
22 else slid=-(slid);
23 }
24 }
25
26 int main()
27 {
28 sort(Input,Input+N);//從小到大排序
29 formatIO(Input,Output,N);
30 for(int i=0;i
31 {
32 cout<
33 }
34 cout<
35 return 1;
36 }
【華為C語言上機(jī)試題及答案】相關(guān)文章:
華為上機(jī)試題匯總01-23
計(jì)算機(jī)等級(jí)二級(jí)C語言上機(jī)模擬試題及答案10-25
計(jì)算機(jī)二級(jí)C語言考試上機(jī)沖刺試題及答案09-08
華為Java上機(jī)考試題07-04
華為筆試題及答案11-01
計(jì)算機(jī)C語言試題及答案02-25
word上機(jī)測試題及答案02-24
華為認(rèn)證最新試題及答案08-28
2016年華為上機(jī)考試題10-27