2012屆華為上機試題之C語言 排序

2021-06-21 09:34:06 字數 889 閱讀 6409

給定乙個陣列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...