1177 按要求排序(指標專題)

2021-10-03 22:02:23 字數 1437 閱讀 5015

1177: 按要求排序(指標專題)

時間限制: 1 sec 記憶體限制: 128 mb

提交: 2433 解決: 953

[狀態] [討論版] [提交] [命題人:admin]

題目描述

輸入n和n個整數,然後按要求排序,若輸入1,請輸出公升序排序序列;若輸入2,請輸出降序排序序列,若輸入3,請輸出按絕對值公升序排序序列。要求程式結構如下,請完善程式。

void sort(int a, int n, int (*cmp)());

int cmpasc(int x, int y); /按公升序要求判斷兩元素是否逆序/

int cmpdec(int x, int y); /按降序要求判斷兩元素是否逆序/

int cmpabsasc(int x, int y); /按絕對值公升序要求判斷兩元素是否逆序/

int main(void)

/輸出排序後的陣列/

void sort(int a, int n, int (*cmp)())

輸入輸入第一行是乙個正整數n;

輸入第二行是n個整數;

輸入第三行是乙個1~3的整數slt,表示使用者的排序要求。

輸出輸出n個整數。若使用者的排序選擇是1,則輸出公升序排序後的n個整數;若使用者的排序選擇是2,則輸出降序排序後的n個整數;若使用者的排序選擇是3,則輸出按絕對值公升序排序後的n個整數;輸出佔一行,資料之間用空格隔開。

樣例輸入 copy

52 -3 1 5 4

2樣例輸出 copy

5 4 2 1 -3

提示請採用穩定的排序演算法

#include

#include

void

sort

(int a,

int n,

int(

*cmp)()

);intcmpasc

(int x,

int y)

;int

cmpdsc

(int x,

int y)

;int

cmpabsasc

(int x,

int y)

;int

main

(void

)for

(i=0

;i)return0;

}void

sort

(int a,

int n,

int(

*cmp)()

)}if(flag==0)

break;}

}int

cmpasc

(int x,

int y)

intcmpdsc

(int x,

int y)

intcmpabsasc

(int x,

int y)

1177 按要求排序(指標專題)

題目描述 輸入n和n個整數,然後按要求排序,若輸入1,請輸出公升序排序序列 若輸入2,請輸出降序排序序列,若輸入3,請輸出按絕對值公升序排序序列。要求程式結構如下,請完善程式。void sort int a,int n,int cmp int cmpasc int x,int y 按公升序要求判斷兩...

zzulioj 1177 按要求排序(指標專題)

輸入n和n個整數,然後按要求排序,若輸入1,請輸出公升序排序序列 若輸入2,請輸出降序排序序列,若輸入3,請輸出按絕對值公升序排序序列。要求程式結構如下,請完善程式。void sort int a,int n,int cmp int cmpasc int x,int y 按公升序要求判斷兩元素是否逆...

ZZULIOJ 1177 按要求排序(指標專題)

題目描述 輸入n和n個整數,然後按要求排序,若輸入1,請輸出公升序排序序列 若輸入2,請輸出降序排序序列,若輸入3,請輸出按絕對值公升序排序序列。要求程式結構如下,請完善程式。void sort int a,int n,int cmp int cmpasc int x,int y 按公升序要求判斷兩...