輸入任意(使用者,成績)序列,可以獲得成績從高到低或從低到高的排列,相同成績
都按先錄入排列在前的規則處理。
輸入多行,先輸入要排序的人的個數,然後輸入排序方法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碼要小)。
3abc 20 99
bcd 19 97
bed 20 97
bcd 19 97bed 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。第二種 與咱...