問題 C EXCEL排序

2021-09-11 18:24:48 字數 1640 閱讀 7535

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 i:」,其中 i 是測試用例的編號(從1開始)。隨後在 n 行中輸出按要求排序後的結果,即:當 c=1 時,按學號遞增排序;當 c=2時,按姓名的非遞減字典序排序;當 c=3 時,按成績的非遞減排序。當若干學生具有相同姓名或者相同成績時,則按他們的學號遞增排序。

4 1

000001 zhao 75

000004 qian 88

000003 li 64

000002 sun 90

4 2000005 zhao 95

000011 zhao 75

000007 qian 68

000006 sun 85

4 3000002 qian 88

000015 li 95

000012 zhao 70

000009 sun 95

0 3

case 1:

000001 zhao 75

000002 sun 90

000003 li 64

000004 qian 88

case 2:

000007 qian 68

000006 sun 85

000005 zhao 95

000011 zhao 75

case 3:

000012 zhao 70

000002 qian 88

000009 sun 95

000015 li 95

題解:num設成int型就一直過不了,但是感覺題目也沒有說一定要設成char。。。

#include#include#include#includeusing namespace std;

struct studentstu[100001];

bool cmp1(student a,student b)

bool cmp2(student a,student b)

bool c***(student a,student b)

int main()

casenum++;

if(c==1)

sort(stu,stu+i,cmp1);

else if(c==2)

else if(c==3)

printf("case %d:\n",casenum);

for(int j=0;jreturn 0;

}

問題 C EXCEL排序

excel可以對一組紀錄按任意指定列排序。現請你編寫程式實現類似功能。對每個測試用例,首先輸出1行 case i 其中 i 是測試用例的編號 從1開始 隨後在 n 行中輸出按要求排序後的結果,即 當 c 1 時,按學號遞增排序 當 c 2時,按姓名的非遞減字典序排序 當 c 3 時,按成績的非遞減排...

1926問題 C EXCEL排序

excel可以對一組紀錄按任意指定列排序。現請你編寫程式實現類似功能。對每個測試用例,首先輸出1行 case i 其中 i 是測試用例的編號 從1開始 隨後在 n 行中輸出按要求排序後的結果,即 當 c 1 時,按學號遞增排序 當 c 2時,按姓名的非遞減字典序排序 當 c 3 時,按成績的非遞減排...

c Excel程式設計中的幾個問題

1 在程式設計的時候,有時會用worksheets 介面,有時又會用sheets介面,那麼他們出現的場合分別在什麼條件下?有怎麼的區別?answer worksheets是指你當前非活動表,而sheets是當前活動表,每個是sheet是乙個工作簿,各個sheet就構成了 sheets,也就是工作表了...