XDOJ綜合題 檔案排序(結構體版本)

2021-10-02 12:17:41 字數 1478 閱讀 3868

類別:綜合

時間限制:1s

記憶體限制:256kb

問題描述:作業系統中在查詢檔案時會按照某個規則對檔案排序,例如下圖為按照檔案修改日期逆序排 序(最後修改的排在最前面)。 但目前作業系統不支援同時按照多個字段進行排序。現在請你寫乙個程式能夠同時按照修改 日期和檔案大小對檔案進行排序,排序規則為: 1. 日期優先,最後修改的排在前面 2. 當修改日期相同時,大的檔案排在前面。

輸入說明:第一行為乙個數字 n,n 表示共有 n 個待排序的檔案, 1≤ n≤ 100。 接下來是 n 行,每行包含乙個檔案的修改日期和檔案大小,這兩個字段之間用空格分隔。 檔案修改日期包含年、月、日,表示年、月、日的整數之間用「/」分隔,格式為「年/月/ 日」。年份的數值在 1960-2018 之間;月份的數值在 1-12 之間;日的數值在 1-31 之間。 檔案大小是乙個不超過 100000000 的整數。 輸入資料中沒有完全相同的日期和檔案大小。

輸出說明:將輸入資料按題目描述的規則排序後輸出,每行輸出乙個檔案的修改日期和檔案大小。

輸入樣例

82018/1/8 1024

2012/10/31 256

2014/10/29 300

2012/10/31 457

2014/10/27 512

2011/10/27 95

2014/11/3 1102

2017/11/24 1535

輸出樣例

2018/1/8 1024

2017/11/24 1535

2014/11/3 1102

2014/10/29 300

2014/10/27 512

2012/10/31 457

2012/10/31 256

2011/10/27 95

#include

struct document

;int

main()

else

if(doc[j]

.year==doc[j+1]

.year)

else

if(doc[j]

.month==doc[j+1]

.month)

else

if(doc[j]

.day==doc[j+1]

.day)}}

}}for(i=

0;i)printf

("%d/%d/%d %d\n"

,doc[i]

.year,doc[i]

.month,doc[i]

.day,doc[i]

.size)

;return0;

}

XDOJ綜合題 檔案排序

類別 綜合 時間限制 1s 記憶體限制 256kb 問題描述 作業系統中在查詢檔案時會按照某個規則對檔案排序,例如下圖為按照檔案修改日期逆序排 序 最後修改的排在最前面 但目前作業系統不支援同時按照多個字段進行排序。現在請你寫乙個程式能夠同時按照修改 日期和檔案大小對檔案進行排序,排序規則為 1.日...

XDOJ綜合題 拼數字並排序

類別 綜合 時間限制 1s 記憶體限制 1000kb 問題描述 對於輸入的字串 只包含字母和數字 將其中的連續數字拼接成整數,然後將這些整數按從大到小順序輸出。例如字串 abc123d5e7f22k9 中共有5個數字123,5,7,22,9,因此應輸出123 22 9 7 5。輸入說明 輸入為乙個字...

拼數字並排序 xdoj綜合題

問題描述 對於輸入的字串 只包含字母和數字 將其中的連續數字拼接成整數,然後將這些整數按從大到小順序輸出。例如字串 abc123d5e7f22k9 中共有5個數字123,5,7,22,9,因此應輸出123 22 9 7 5。輸入說明 輸入為乙個字串,字串長度不超過100,其中最長的連續數字不超過10...