成績排序(3種題型) C

2021-09-08 17:39:17 字數 989 閱讀 2305

輸入任意(使用者,成績)序列,可以獲得成績從高到低或從低到高的排列,相同成績

都按先錄入排列在前的規則處理。

輸入多行,先輸入要排序的人的個數,然後輸入排序方法0(降序)或者1(公升序)再分別輸入他們的名字和成績,以乙個空格隔開

按照指定方式輸出名字和成績,名字和成績之間以乙個空格隔開

#include#includeusing namespace std;

struct s;

int main()

for(int j=0;jmax)

}else;

bool cmp(s s1,s s2)

sort(stu,stu+n,cmp);

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

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

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

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

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

姓名 年齡 成績

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

3

abc 20 99

bcd 19 97

bed 20 97

bcd 19 97

bed 20 97

abc 20 99

#include#include#includeusing namespace std;

struct s;

bool cmp(s s1,s s2)

sort(stu,stu+n,cmp);

for(int j=0;j}

}

C語言 成績排序

題目描述 查詢和排序 題目 輸入任意 使用者,成績 序列,可以獲得成績從高到低或從低到高的排列,相同成績 都按先錄入排列在前的規則處理。示例 jack 70 peter 96 tom 70 smith 67 從高到低 成績 peter 96 jack 70 tom 70 smith 67 從低到高 ...

C 八種基本排序 插入排序(3)

直接插入排序 原理 將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序。思想 將陣列的第乙個數認為是有序陣列,從前往後 或者從後往前 掃瞄該有序陣列,把陣列中其餘n 1個數,根據數值的大小,插入到有序陣列中,直至陣列中的所有數有序排列為止。直接插...

3種氣泡排序

第一種 最基本的解法 void bubble sort1 int a,int size if for while 第一種解法每次從第乙個元素開始把第i 1個最大的元素放到它應有的位置,而每次卻是比較所有的n個元素,明顯每次和之前已經排好的元素比較屬於多餘,引出解法2 每次排序後n自減1。第二種 與咱...