4 題目1023 EXCEL排序

2021-07-10 01:53:14 字數 1131 閱讀 6909

題目描述:excel可以對一組紀錄按任意指定列排序。現請你編寫程式實現類似功能。

對每個測試用例,首先輸出1行「case i:」,其中 i 是測試用例的編號(從1開始)。隨後在 n 行中輸出按要求排序後的結果,即:當 c=1 時,按學號遞增排序;當 c=2時,按姓名的非遞減字典序排序;當 c=3 

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

這道題我看到的第一反應是應該全部輸入後再一起輸出case,所以寫了個二維結構體陣列。。。。。然後看別人的**居然是乙個乙個輸出的。。。。。

用sort和compare好方便啊,以後不用自己寫排序了好開心!~~~~~(當然演算法還是要掌握的)

但是這題我一直runtime error.......我不知道為什麼。。。。我覺得和別人的ac**差不多啊

100000太大了,在vs2013上總是棧溢位,我只能在本地執行時弄小一點的max,然後提交時寫成100000,但還是re

已解決:是oj的提示錯了,我寫了system("pause"),居然提示re,難道不是提示tle嗎?去掉那一句就ac了

#include#include#include#includeusing namespace std;

#define max 100000

typedef struct student student;

bool com1(student a, student b) //根據id排序

bool com2(student a, student b) //根據name排序

bool com3(student a, student b) //根據grade排序

int main()

cout << "case " << i << ":" << endl;

for (k = 0; k < n; k++)

cout << student[k].id << " " << student[k].name << " " << student[k].grade << endl;

}//end of while

system("pause");

return 0;

}

題目1023 EXCEL排序

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

題目1023 EXCEL排序

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

九度題目1023 EXCEL排序

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