結構體快速排序(qsort)

2021-10-02 09:58:08 字數 1087 閱讀 2184

桐桐的學校剛剛舉行了期中考試,桐桐所在的七年級一共考了五個科目:語文、數學、英語、政治和歷史。現在所有成績都已經出來,班主任找到了桐桐,想讓桐桐幫忙計算班裡所有同學的五科總成績,並按照總成績由高到低的順序排名,如果兩個學生盼總成績相同,則學號小的排在前面。你能夠編寫程式幫助桐桐完成任務嗎?

第1行:乙個數n(1≤n<100),表示桐桐所在班級的學生數;

第2行至第n+1行:第i行表示學號為i-1的學生的成績(全部是整數,範圍在o到1 00之間),每行有5個數,分別表示當前學生的五科成績,相鄰數之間用乙個空格隔開。

只有1行,按總成績由高到低的順序輸出對應學生的學號,相鄰學號間用乙個空格隔開。末尾也有空格

樣例輸入

589 76 80 67 90

70 80 78 95 92

65 77 88 98 100

82 68 99 87 69

100 92 87 79 90

樣例輸出

5 3 2 4 1

#include

#include

using

namespace std;

struct stu

;int

cmp(

const

void

*a,const

void

*b)//快速排序

void

input

(struct stu a,

int n)

}voids(

struct stu a,

int n)

qsort

(a,n,

sizeof

(stu)

,cmp)

;for

(i=0

;i1;i++)}

}}for(i=

0;iintmain()

不知道為什麼上圖cmp有時候失效 故使用下圖**

int

cmp(

const

void

*a,const

void

*b)

結構體結合qsort排序

qsort的標頭檔案是stdlib.h,noip允許使用這個標頭檔案 一 對int型別陣列排序 int num 100 例如 int cmp const void a const void b qsort num,100,sizeof num 0 cmp 二 對char型別陣列排序 同int型別 c...

qsort用於結構體陣列排序

用模擬的qsort進行解釋結構體陣列的排序 typedef struct stustu void swap void x,void y,int size int com const stu x,const stu y 傳進來的是陣列的地 void my qsort void base,int num...

qsort 快速排序

qsort函式是ansi c標準中提供的,其宣告在stdlib.h檔案中,是根據二分法寫的,其時間複雜度為n log n 其結構為 void qsort void base,size t nelem,size t width,int comp const void const void 其中 bas...