問卷調查課日常摸魚,,
這道題感覺思路很簡單,就是具體實現時出現了意料之外的問題。
比如用scanf或cin輸入若干個個字串時,如果輸入了空格,接下來的內容都是下乙個字串的了。
所以本以為這道題可以水過,結果還是花了較長時間w,,
2990. 文獻排序
題面
單點時限: 2.0 sec
記憶體限制: 256 mb
現在你的導師給你了乙個待排序的參考文獻列表,要你排好序給他。
文獻列表中每一條文獻記錄只佔一行。排序的規則和string型別字串的比較規則一致(在排序時如果該字串中包含大寫字母,則當作小寫字母處理,保證沒有相同大小的字串,但是輸出結果不能改變任一字串),按公升序排列。
輸入格式
第 1 行:乙個整數 t (1≤t≤10) 為問題數。
對於每組測試資料:每組第一行包括乙個整數n,(1≤n≤200),接下來有n行,每行包括一行文獻記錄,文獻記錄的長度s (1≤s≤200)。
輸出格式
對每組輸入,輸出一行問題的編號(0開始編號,格式:case #0: 等)然後輸出排好序的文獻記錄。
樣例
input
3
3abc hello!
abc hellz!
bbc hello!
2acc hello!
abc hellz!
3abc hi!
abc hallo!
aac hello!
output
case #0:
abc hello!
abc hellz!
bbc hello!
case #1:
abc hellz!
acc hello!
case #2:
aac hello!
abc hallo!
abc hi!
輸入n個字串(可以用二維陣列來儲存)
用qsort為這些字串排序(此題注意cmp函式)
此題cmp邏輯:
因為比較時不區分大小寫,但輸出時是按原有大小寫輸出,
所以,在cmp函式中,比較的不是原字串,而是兩個臨時字串,內容是「小寫化」了的原串。
通過這道題,了解到了gets和scanf、cin的乙個挺重要的區別——
所以如果要輸入的字串中包含空格或tab,這三者中只能選擇gets。
參考部落格:scanf、gets、getchar、cin、cin.get、cin.getline、getline總結
標頭檔案:
#include
#include
#include
#include
比較大的陣列要定義在main函式之外:
char s[
205]
[205
];
cmp函式(qsort要用到):
int
cmp(
const
void
* a,
const
void
* b)
for(i=
0;s2[i]
!='\0'
; i++
)return
strcmp
(s1,s2)
;}
main函式:
int
main()
return0;
}
挺開心的,又學會了一點東西。
小長假要開始了,不過明天可不能睡懶覺,,(因為搶不到票所以只能坐大清早的高鐵【手動微笑)
by the way, 明天就回家了,生活真是太美好了啊~
——2019.4.30 22點20分 於寢室
EOJ 莫干山奇遇
出題人當然是希望出的題目有關oxx,於是想方設法給題目配上一些有關oxx的背景故事,使得它看起來不那麼無趣。但有的時候卻無法引入合適的小姐姐,使得oxx顯得非常可憐。所以出題人刪除了故事,只留下乙個枯燥乏味的數學問題。故事已刪除 給乙個長度為n的序列a1,a2,an,求乙個長度為m的序列b1,b2,...
EOJ 2794 鍊錶
大概是在10000 10的矩陣裡找兩行,兩列,使得兩行中的對應列是相同的。思路 在長列中hash,建立hash陣列,表示這個hash i 的i前乙個位置,建立鍊錶next i 指向hash value i 這樣就能o n 的找到所有相同的數的乙個鍊錶。然後搜尋兩列的時候比較當前指向的位置,當前比較短...
EOJ 3256 拼音魔法
time limit per test 1.0 seconds time limit all tests 1.0 seconds memory limit 256 megabytes 魔法學校小學一年級有一種題。就是給乙個字的拼音,給乙個聲調,讓你正確地注音。但魔法老師給了巨量的題,你不用魔法根本不...