問題 C EXCEL排序

2021-10-05 17:53:31 字數 1211 閱讀 1899

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 時,按成績的非遞減排序。當若干學生具有相同姓名或者相同成績時,則按他們的學號遞增排序。

#include

#include

#include

using

namespace std;

const

int maxn =

100010

;struct student

bool

cmp1

(struct student a,

struct student b)

//自定義比較函式

bool

cmp2

(struct student a,

struct student b)

bool

c***

(struct student a,

struct student b)

int n,c,count=0;

struct student stu[maxn]

;while

(scanf

("%d%d"

,&n,

&c)!=

eof)

count++

;switch

(c)for

(int i=

0;ireturn0;

}

問題 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,也就是工作表了...