More Related Content More from hungchiayang1 (20) Ch8 習題2. 8 集合、字典
習題 1
55
設定一串 DNA 序列如下,若以每八個鹽基為一組,撰寫
程式找出所有重複的鹽基序列,依數量由大到小排列。
dna = "ACGTAAGTCCGAGTAATAGATAATCAGAATCGGAATCAAGAAGTCCGAAGTCCGAACGTAAG"
輸出:
AAGTCCGA 3
AGTCCGAA 2
GAAGTCCG 2
4. 8 集合、字典
習題 3
57
右邊六種動物:兔、牛、馬、羊、狗、貓。請撰寫程式,
任選兩種動物找出十種不同組合,依動物順列排列,以下
為輸出樣式:
1 兔牛
2 兔馬
3 兔貓
4 牛馬
5 牛狗
6 牛貓
7 馬狗
8 馬貓
9 羊貓
10 狗貓
5. 8 集合、字典
習題 4
58
以下為一群人可以出席的時間,撰寫程式讀入此檔,找出
最多人出席的時間,依出席人數由多到少依序排列,若人
數相同,依星期時間排列。
A : 一二三
B : 日一二四五
C : 一三五六
D : 六日
E : 二三四五六
F : 二四五
...
輸出:
二 [10] A B E F G H I J K M
三 [ 9] A C E G H I K M N
一 [ 7] A B C G I K M
五 [ 7] B C E F H J N
六 [ 7] C D E I J M N
四 [ 5] B E F H J
日 [ 3] B D K wkdates.dat@web
6. 8 集合、字典
習題 5
59
使用上題資料檔,撰寫程式任選兩天印出此兩天都會出現
的成員,印出所有的兩天組合,以下為依時間排列的輸出
結果。
日 一 : B K
日 二 : B K
日 三 : K
日 四 : B
日 五 : B
日 六 : D
一 二 : A B G I K M
一 三 : A C G I K M
一 四 : B
一 五 : B C
一 六 : C I M
二 三 : A E G H I K M
二 四 : B E F H J
二 五 : B E F H J
二 六 : E I J M
三 四 : E H
三 五 : C E H N
三 六 : C E I M N
四 五 : B E F H J
四 六 : E J
五 六 : C E J N
7. 8 集合、字典
習題 6
60
以下為某個學校學生的生肖資料檔,撰寫程式讀入資料檔,
印出各個生肖的學生數量:
豬蛇豬牛羊羊豬羊豬龍狗羊蛇狗猴羊馬馬鼠羊豬蛇狗雞蛇
牛猴蛇蛇馬豬狗猴狗猴蛇蛇龍兔羊鼠豬狗豬兔龍龍猴猴雞
豬牛羊鼠兔狗狗馬狗猴虎蛇虎羊虎蛇猴馬狗蛇牛鼠羊馬牛
雞狗牛馬虎猴馬虎豬鼠豬馬羊猴龍猴馬龍鼠猴牛龍鼠羊牛
猴兔牛馬兔羊豬雞羊雞雞雞猴鼠蛇鼠豬龍龍馬馬虎蛇猴鼠
...
輸出如下:
鼠 23
牛 21
虎 17
雞 21
狗 32
豬 33
馬 28
羊 30
猴 29
兔 23
龍 35
蛇 20
zodiac.dat@web
8. 8 集合、字典
習題 7
61
有一唐詩資料檔如下:
王維 鹿柴 空山不見人 但聞人語響 返景入深林 復照青苔上
李白 勞勞亭 天下傷心事 勞勞送客亭 春風知別苦 不遣柳條青
白居易 池上 水娃撐小艇 偷來白蓮回 不解藏蹤跡 浮萍一道開
王維 鳥鳴澗 人閒桂花落 夜靜春山空 月出驚山鳥 時鳴春澗中
韋應物 秋夜寄邱員外 懷君屬秋夜 散步詠涼天 空山松子落 幽人應未眠
李白 秋浦歌 白髮三千丈 離愁似個長 不知明鏡裡 何處得秋霜
盧綸 塞下曲(其三) 月黑雁飛高 單于夜遁逃 欲將輕騎逐 大雪滿弓刀
...
撰寫程式讀入此檔,輸入詩人名字,印出此詩人的所有作品。
> 杜甫
[1]
八陣圖:
功蓋三分國 名成八陣圖 江流石不轉 遺恨失吞吳
[2]
絕句:
江碧鳥逾白 山青花欲燃 今春看又過 何日是歸年
> 李白
[1]
勞勞亭:
天下傷心事 勞勞送客亭 春風知別苦 不遣柳條青
... poems.db@web
9. 8 集合、字典
習題 8
62
同上題,撰寫程式,讀入一個或多個字詞,印出滿足所有條件的
詩,印出詩名稱、詩人與詩文,以下為一些輸出結果。
> 人 山
[1]
鹿柴 王維
空山不見人 但聞人語響 返景入深林 復照青苔上
[2]
鳥鳴澗 王維
人閒桂花落 夜靜春山空 月出驚山鳥 時鳴春澗中
[3]
秋夜寄邱員外 韋應物
懷君屬秋夜 散步詠涼天 空山松子落 幽人應未眠
[4]
夜宿山寺 李白
危樓高百尺 手可摘星辰 不敢高聲語 恐驚天上人
> 李白 天
[1]
勞勞亭 李白
天下傷心事 勞勞送客亭 春風知別苦 不遣柳條青
[2]
夜宿山寺 李白
危樓高百尺 手可摘星辰 不敢高聲語 恐驚天上人
10. 8 集合、字典
習題 9
63
同上題資料檔,撰寫程式找出在各首詩中出現次數最多的前三個
字,將此三個字與詩的作者及詩名印成出如下型式:。
「不」出現於 10 首詩中:
1 王維:鹿柴
2 李白:勞勞亭
3 白居易:池上
4 李白:秋浦歌
5 李頻:渡漢江
6 賈島:劍客
7 賈島:尋隱者不遇
8 李白:夜宿山寺
9 杜甫:八陣圖
10 王昌齡:答武陵太守
「人」出現於 7 首詩中:
1 王維:鹿柴
2 王維:鳥鳴澗
3 韋應物:秋夜寄邱員外
4 李頻:渡漢江
5 李白:夜宿山寺
6 駱賓王:易水送別
7 錢起:江行無題
「山」出現於 5 首詩中:
1 王維:鹿柴
2 王維:鳥鳴澗
3 韋應物:秋夜寄邱員外
4 賈島:尋隱者不遇
5 杜甫:絕句
11. 8 集合、字典
習題 10
64
參考列印課表範例,在以下選課檔中,每列包含科目名稱與若干
組由冒號分開的星期與節數。若節數以橫線分開,例如:6-8,
則代表上課節數為6、7、8 連續三節。撰寫程式讀入以下左側
選課檔印出如右側的課程表。
| 一 二 三 四 五
------------------
微積分 四:78 五:56 1 | 物
物理 三:12 二:7 2 | 物 程
化學 三:8 一:34 3 | 化 程 英
實驗 一:6-8 ----> 4 | 化 程 英
經濟 二:56 ------------------
英文 五:34 5 | 經 微
程設 四:2-4 6 | 實 經 微
7 | 實 物 微
8 | 實 化 微
schedule.dat@web
12. 8 集合、字典
習題 11
65
讀入課程表,撰寫程式印出右側原始選課單。請留意,在左方課程表單
中,沒有課的節數是使用中文空格,即 chr(12288) 代替。為簡化
程式,課程的每一節課都要印出,不使用橫線。輸出的課程排列順序是
以課程在一周內最先上課時間為先後,以下為輸出結果:
| 一 二 三 四 五
------------------
1 | 物 化 一:34 三:8
2 | 物 程 實 一:678
3 | 化 程 英 經 二:56
4 | 化 程 英 ----> 物 二:7 三:12
------------------ 程 四:234
5 | 經 微 微 四:78 五:56
6 | 實 經 微 英 五:34
7 | 實 物 微
8 | 實 化 微
courses.dat@web
13. 8 集合、字典
習題 12
66
撰寫程式檢查以下左邊選課時間表是否有衝堂,若有輸出如
右側衝堂時間與課程。
微積分 四:78 五:56
物理 三:12 二:7
化學 三:8 一:34 星期二 第 7 節 : 物理 天文
體育 四:6-8 星期三 第 2 節 : 物理 計概
經濟 二:56 ----> 星期四 第 6 節 : 體育 中文
天文 二:78 星期四 第 7 節 : 微積分 體育
程設 四:2-4 星期四 第 8 節 : 微積分 體育
中文 四:5-6 星期五 第 6 節 : 微積分 實驗
實驗 五:6-8
計概 三:2-4
courses2.dat@web
14. 8 集合、字典
習題 13
67
有一扭蛋機內有十組公仔,假設一組公仔有 n 個不同
樣式的公仔,且每個扭蛋由扭蛋機出來的機率相同,請
用程式模擬至少要扭多少次才能取得一組完整的公仔,
輸出平均次數。以下為 n 分別在 [3,9] 間的模擬結果:
n 次數
3 4.992
4 7.4981
5 10.1152
6 12.8867
7 15.8292
8 18.7931
9 21.9676
15. 8 集合、字典
習題 14-1
68
以下為某公司某月派遣員工的工作日期檔案:
1 趙志明 1,2,5-10,21-25,28
2 錢俊傑 1-5,8-12,13,18,29,30
3 孫建宏 2,4,8,10-20,23,27,29
4 李俊宏 3,6,8,10,12,14-20,23-29
5 周淑芬 1,3-4,6,9,15-20,22,24-30
6 吳淑惠 5,9,11-13,17-20,25,27
7 鄭美玲 1-10,20-30
8 王雅婷 2-4,5-10,13-24
9 劉美惠 3,5,8,12-20,24,26,29
10 陳麗華 4-9,12-19,23-30
11 汪淑娟 1,4,7-13,16-21,23,28-30
12 江怡君 1-8,10-15,20-25
wdates.dat@web
16. 8 集合、字典
習題 14-2
69
撰寫程式,讀入檔案,依工作日數次序,由大到小重新排列,工作
日數以中括號框住。派遣員工的日薪為 1200 元,輸出時也將月
領薪資一併印出,格式如下:
1 陳麗華 [22] 26400 4-9,12-19,23-30
2 王雅婷 [21] 25200 2-4,5-10,13-24
3 鄭美玲 [21] 25200 1-10,20-30
4 江怡君 [20] 24000 1-8,10-15,20-25
5 李俊宏 [19] 22800 3,6,8,10,12,14-20,23-29
6 汪淑娟 [19] 22800 1,4,7-13,16-21,23,28-30
...
12 吳淑惠 [11] 13200 5,9,11-13,17-20,25,27
17. 8 集合、字典
習題 15-1
70
有一簡單中文點矩陣檔案儲存 7× 7 的中文點陣如下:
大 0x8 0x8 0x7f 0x8 0x14 0x22 0x41
中 0x8 0x8 0x7f 0x49 0x7f 0x8 0x8
小 0x8 0x8 0x2a 0x49 0x49 0x8 0x8
央 0x8 0x8 0x3e 0x2a 0x7f 0x14 0x63
土 0x8 0x8 0x3e 0x8 0x8 0x8 0x7f
...
總共包含「大中小央土木一二三四五六七八九十百」,撰寫程
式,讀入:一些中文字,印出其點矩圖形。若要輸出中文空白
,請使用萬國碼(U+3000)空白字符,等同 hr(12288)。
cbitmap.dat@web
18. 8 集合、字典
習題 15-2
71
> 中央一百
中 央 百百百百百百百
中 央 百
中中中中中中中 央央央央央 百百百百百
中 中 中 央 央 央 一一一一一一一 百 百
中中中中中中中 央央央央央央央 百百百百百
中 央 央 百 百
中 央央 央央 百百百百百
> 三百七十五
三三三三三 百百百百百百百 七 十 五五五五五
百 七 十 五
百百百百百 七七七七七七七 十 五
三三三三三 百 百 七 十十十十十十十 五五五五五
百百百百百 七 十 五 五
百 百 七 十 五 五
三三三三三三三 百百百百百 七七七七 十 五五五五五五五
19. 8 集合、字典
習題 16
72
讀入上題中文字點矩資料檔與第五章蝴蝶習題,輸入中文字
串,印出中文字的蝴蝶點矩圖形。以下為輸入「中央一百」
的蝴蝶點陣圖:
> 中央一百
20. 8 集合、字典
習題 17
73
讀入上上題資料檔,撰寫程式依各中文字所需「點」的數量,
由少到多排列中文字的順序,輸出如下:
一 7
八 10
二 12
十 13
小 14
六 15
大 16
七 16
三 17
土 17
九 18
木 19
中 21
五 23
央 23
百 27
四 32
21. 8 集合、字典
習題 18
74
有一成語檔如下:
灌夫罵座
焚膏繼晷
無所適從
班門弄斧
瓜田李下
瓜李之嫌
瓜代有期
畫餅充飢
馬革裹屍
...
病入膏肓
盲人瞎馬
運斤成風
郢匠揮斤
舟中敵國
門可羅雀
閉月羞花
防微杜漸
撰寫程式,讀入成語檔,印出第一個字相同的成語,由個數多到
少依次印出,每列最多印五個成語,輸出型式如下:
風 15
風言風語 風雨交加 風雲變幻 風起雲湧 風月無邊
風捲殘雲 風吹雨打 風雨無阻 風平浪靜 風兩飄搖
風調雨順 風雨同舟 風行一時 風馳電掣 風聲鶴唳
一 10
一竅不通 一箭雙雕 一飯千金 一語成讖 一鳴驚人
一曝十寒 一毛不拔 一衣帶水 一馬當先 一丘之貉
狼 7
狼吞虎嚥 狼嚎鬼哭 狼心狗肺 狼狽為奸 狼奔豕突
狼子野心 狼狽不堪
如 6
如墮雲霧 如日東昇 如日方中 如雷貫耳 如魚得水
如虎添翼
... idioms.dat@web
22. 8 集合、字典
習題 19
75
使用上一題成語檔,撰寫程式讀入成語檔與筆劃檔,依照
成語筆劃排列,列印時先以成語第一個字的筆劃區分,之
後再依據各字的筆劃由少到多排列,程式輸出如下:
1 劃:
一毛不拔
一丘之貉
一衣帶水
一馬當先
一飯千金
一語成讖
一鳴驚人
一箭雙雕
一竅不通
一曝十寒
2 劃:
七上八下
九牛一毛
入木三分
人仰馬翻
八面玲瓏
人面桃花
3 劃:
三人成虎
上下其手
三令五申
鶴髮童顏
22 劃:
驚弓之鳥
驚濤駭浪
28 劃:
鸚鵡學舌
及瓜而代
三生有幸
上行下效
亡羊補牢
...
21 劃:
鶴立雞群
strokes.dat@web