P1102 結構體兩級排序

2021-07-26 12:03:51 字數 832 閱讀 7331

定義乙個學生結構體型別student,包括4個字段,姓名、性別、年齡和成績。然後在主函式中定義乙個結構體陣列(長度不超過1000),並輸入每個元素的值,程式使用氣泡排序法將學生按照成績從小到大的順序排序,然後輸出排序的結果。

輸入格式:第一行是乙個整數n(n<1000),表示元素個數;接下來n行每行描述乙個元素,姓名、性別都是長度不超過20的字串,年齡和成績都是整型。

輸出格式:按成績從小到大輸出所有元素,若多個學生成績相同則成績相同的同學之間保留原來的輸入順序。

輸入:3

alice female 18 98

bob male 19 90

miller male 17 92

輸出:bob male 19 90

miller male 17 92

alice female 18 98

此題應該用結構體的兩級排序,先按成,再按輸入順序

//對結構體二級排序程式模板

struct in

s[100];

int cmp( const void *a , const void *b )//x的優先順序高於y

qsort(s,100,sizeof(s[0]),cmp);

具體**如下

#include#includeusing namespace std;

struct student

s[1001];

int cmp(const void *a,const void *b)

int main()

qsort(s,n,sizeof(s[0]),cmp);

for(int i=0;i

大整數排序(結構體二級排序)

對n個長度最長可達到1000的數進行排序。輸入描述 輸入第一行為乙個整數n,1 n 100 接下來的n行每行有乙個數,數的長度範圍為1 len 1000。每個數都是乙個正數,並且保證不包含字首零。輸出描述 可能有多組測試資料,對於每組資料,將給出的n個數從小到大進行排序,輸出排序後的結果,每個數占一...

程序頁表兩級結構 頁目錄和頁表頁

程序頁表的基本結構僅適合於小程序位址空間,在大位址空間下,該結構發生了變化。大虛址空間下的記憶體程序頁表結構採用頁表頁和頁目錄。32位意味著虛址空間可達4gb 虛址空間計算方法 32位的編址為232,232 210 210 210 22 4gb 1k 1024b 1m 1024k 1g 1024m ...

優先順序佇列 和 改變結構體 的排序規則

參考了 能站在巨人的肩膀上,也是一種本事!a b c d 從這裡出去 自己瞎猜的,這個 釋了 雖然是用小於號 排序,但是大的先出來。接下來 定義4中情況的 優先順序佇列 1,int 型別,降序 include includeusing namespace std priority queue q i...