機試題 EXCEL排序

2021-09-24 23:43:58 字數 1092 閱讀 1694

excel可以對一組紀錄按任意指定列排序。現請你編寫程式實現類似功能。     對每個測試用例,首先輸出1行「case i:」,其中 i 是測試用例的編號(從1開始)。隨後在 n 行中輸出按要求排序後的結果,即:當 c=1 時,按學號遞增排序;當 c=2時,按姓名的非遞減字典序排序;當 c=3 時,按成績的非遞減排序。當若干學生具有相同姓名或者相同成績時,則按他們的學號遞增排序。

測試輸入包含若干測試用例。每個測試用例的第1行包含兩個整數 n (n<=100000) 和 c,其中 n 是紀錄的條數,c 是指定排序的列號。以下有n行,每行包含一條學生紀錄。每條學生紀錄由學號(6位數字,同組測試中沒有重複的學號)、姓名(不超過8位且不包含空格的字串)、成績(閉區間[0, 100]內的整數)組成,每個專案間用1個空格隔開。當讀到 n=0 時,全部輸入結束,相應的結果不要輸出。
對每個測試用例,首先輸出1行「case:」。隨後在 n 行中輸出按要求排序後的結果,即:當 c=1 時,按學號遞增排序;當 c=2時,按姓名的非遞減字典序排序;當 c=3 

時,按成績的非遞減排序。當若干學生具有相同姓名或者相同成績時,則按他們的學號遞增排序。

示例1

3 1

000007 james 85

000010 amy 90

000001 zoe 60

case:

000001 zoe 60

000007 james 85

000010 amy 90

#include #include #include using namespace std;

struct ebuf[100001];

bool cmp1(e a, e b)

bool cmp2(e a, e b)

}bool c***(e a, e b)

}int main()

switch(c)

cout << "case:" << endl;

for(int i = 0; i < n; i++)

cout << buf[i].id << " " << buf[i].name << " "

}

成績排序2 機試題

題目描述 用一維陣列儲存學號和成績,然後,按成績排序輸出。輸入第一行包括乙個整數n 1 n 100 代表學生的個數。接下來的n行每行包括兩個整數p和q,分別代表每個學生的學號和成績。按照學生的成績從小到大進行排序,並將排序後的學生資訊列印出來。如果學生的成績相同,則按照學號的大小進行從小到大排序。示...

考研機試題 成績排序問題

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

歷屆試題 Excel位址

時間限制 1.0s 記憶體限制 256.0mb 提交此題 問題描述 excel單元格的位址表示很有趣,它使用字母來表示列號。比如,a表示第1列,b表示第2列,z表示第26列,aa表示第27列,ab表示第28列,ba表示第53列,當然excel的最大列號是有限度的,所以轉換起來不難。如果我們想把這種表...