給定乙個陣列input ,如果陣列長度n為奇數,則將陣列中最大的元素放到 output 陣列最中間的位置,如果陣列長度n為偶數,則將陣列中最大的元素放到 output 陣列中間兩個位置偏右的那個位置上,然後再按從大到小的順序,依次在第乙個位置的兩邊,按照一左一右的順序,依次存放剩下的數。
例如:input = output = ; input = output =
題目考察的是排序+規格化輸出:
容易讓人理解的解法,首先進行排序,進而進行排序後的輸出:
1#include
<
iostream
>
2#include
<
algorithm
>
3using
namespace
std;
4#define
sign(x) ((x)>=0)?(1):(-1)
5#define
n 56
intinput[n]=;
7int
output[n];89
void
formatio(
int*
input,
int*
output,
intn)
1017
output[m]
=input[n-1
];18
for(
inti=n
-2;i>=0;i
--)1924}25
26int
main()
2734
cout
<<
endl;
35return1;
}
2012屆華為上機試題之C語言 排序
給定乙個陣列input 如果陣列長度n為奇數,則將陣列中最大的元素放到 output 陣列最中間的位置,如果陣列長度n為偶數,則將陣列中最大的元素放到 output 陣列中間兩個位置偏右的那個位置上,然後再按從大到小的順序,依次在第乙個位置的兩邊,按照一左一右的順序,依次存放剩下的數。例如 inpu...
2012屆華為校園招聘機試題
int cal score int score,int judge type,int n else 大眾評委 if 0 publicnum 沒有大眾評委 else 2 給定乙個陣列input 如果陣列長度n為奇數,則將陣列中最大的元素放到 output 陣列最中間的位置,如果陣列長度n為偶數,則將陣...
2012屆華為校園招聘機試題
int cal score int score,int judge type,int n else 大眾評委 if 0 publicnum 沒有大眾評委 else void sort int input int n int output for mid n 1 j mid 1 k mid 1 out...