C語言qsort和C sort用法詳解

2021-08-29 01:21:58 字數 1209 閱讀 7888

有n個學生的資料,將學生資料按成績高低排序,如果成績相同則按姓名字元的字母序排序,如果姓名的字母序也相同則按照學生的年齡排序,並輸出n個學生排序後的資訊。

測試資料有多組,每組輸入第一行有乙個整數n(n<=1000),接下來的n行包括n個學生的資料。

每個學生的資料報括姓名(長度不超過100的字串)、年齡(整形數)、成績(小於等於100的正數)。

將學生資訊按成績進行排序,成績相同的則按姓名的字母序進行排序。

然後輸出學生資訊,按照如下格式:

姓名 年齡 成績

學生姓名的字母序區分字母的大小寫,如a要比a的字母序靠前(因為a的asc碼比a的asc碼要小)。

輸入

3abc 20 99

bcd 19 97

bed 20 97

輸出

bcd 19 97

bed 20 97

abc 20 99

#include

#include

#include

typedef

struct student

;//int cmp(student a, student b);

intcmp

(const

void

*a,const

void

*b) */

if(c.score == d.score)

else

return

(c.score > d.score)?1

:-1;

//真返回 1

}int

main()

}qsort

(stu0, n,

sizeof

(stu0[0]

), cmp)

;for

( i =

0; i < n-

1; i++

)printf

("%s %d %d\n"

, stu0[i]

.name, stu0[i]

.age, stu0[i]

.score)

;}

C語言 qsort函式

c程式使用標準庫函式qsort排序整數檔案 include include include include define max 10 int int cmp const void a,const void b int main while feof fp length fclose fp qsor...

C語言 qsort 解析

包含標頭檔案為stdlib.h void qsort void base,size t num,size t width,int compare const void const void 各引數 待排序陣列首位址 陣列中待排序元素數量 各元素的占用空間大小 指向函式的指標,用於確定排序的順序,記住...

C語言qsort用法

一 對int型別陣列排序 int num 100 sample int cmp const void a const void b qsort num,100,sizeof num 0 cmp 二 對char型別陣列排序 同int型別 char word 100 sample int cmp con...