Microsoft PowerPoint - The Twelve Days of Xmas.ppt

Similar documents
2013年度西藏自治区教育厅

實用文格式大全.doc

个 小 小 的 乡 下 人 木 匠 的 儿 子, 竟 然 有 这 么 大 的 力 量 其 实 就 是 这 点, 祂 活 出 来 的 那 种 爱, 是 世 界 上 没 有 的 祂 活 出 来 的 爱 是 世 界 上 的 人 都 需 要 的, 但 却 是 人 人 在 这 个 世 界 上 都 得 不 到

薛 秦 高 继 宁 宋 明 锁 文 洪 梁 瑞 敏 贾 跃 进 内 蒙 古 自 治 区 (3 人 ) 琪 格 其 图 米 子 良 赵 震 生 辽 宁 省 (8 人 ) 田 素 琴 白 凤 鸣 肖 瑞 崇 黄 恩 申 白 长 川 杨 世 勇 李 敬 林 王 秀 云 吉 林 省 (5 人 ) 赵 继 福


< F20B4F2D3A1D7F7D2B5>

腊八粥的来历 南宋陆游诗云 今朝佛粥更相馈 反觉江村节 物新 说的就是腊八粥 可见 腊八节 吃 腊八 粥 的风俗 由来已久 每逢腊八这一天 不论是朝 廷 官府 寺院还是黎民百姓家都要做腊八粥 这一 天 人们还要祭祀祖先 众神并庆祝丰收 后来 逐 渐演变成吃腊八粥祝来年五谷丰登 对于腊八粥的来历说法也



Microsoft PowerPoint - UGFA [Compatibility Mode]

碩命題橫式

100 地方政府公共管理個案選輯 整個名字聽起來就好像手機的牌子 磨先生其實人很好 相處 只是說話大剌剌的 什麼事情都無所謂的樣子 再加上年資高見多識廣 所以對於事情的輕重緩急有自 己的見解 故事大綱 最近這三個月 西海示範公墓拓建公園開發案 是鎮長交 辦給建設課的重要事項 泰奧對這個案子費心不少

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制

_汪_文前新ok[3.1].doc

Microsoft PowerPoint - 20-string-s.pptx

CC213

穨report.PDF

全國各級農會第 2 次聘任職員統一考試試題 科目 : 程式設計類別 : 九職等以下新進人員作答注意事項 : 1 全部答案請寫在答案卷內, 如寫在試題紙上, 則不予計分 2 請以黑色或藍色鋼筆或原子筆書寫, 並以橫式書寫 ( 由左至右, 由上而下 ) 一 選擇題 ( 每題 4 分, 共 40 分 )

Downtown Minneapolis Residence Inn by Marriott 45 South 8th Street FAX: Graves 601 Hotel 601 First Avenu

发展党员材料填写参考(上网).doc

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

1.加入党组织主要经过哪些程序?

untitled

CC213

新・解きながら学ぶC言語

C/C++ - 字符输入输出和字符确认

撰 寫 人 :2B1 王 清 燕 書 名 : 追 風 箏 的 女 孩 條 碼 號 : 月 份 閱 讀 心 得 佳 作 我 覺 得 這 是 一 本 教 我 們 用 殘 酷 的 角 度 認 識 生 命 的 小 說 ; 與 同 儕 甚 是 摯 友 間 也 可 能 出 現 競 奪 下 的

Wuhan Textile University M. A. S Dissertation Emotional Design of Home Textile Based on the Chinese Traditional Culture Wedding Bedding for Example Ca

新・明解C言語入門編『索引』

Microsoft Word - Sing Fu

新版 明解C言語入門編

untitled

Microsoft Word - 目次範例-catalog doc

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

C 1

C/C++基礎程式設計班

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

PHP與MySQL 入門學習指南

湖北省高等教育自学考试新生注册管理办法

校园之星

XX1.mps

Microsoft PowerPoint - STU_C_Lang_CH05

Discussion on the Legislation of Electronic Signature in China (in Chinese)


ttian


Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

untitled

Coaching Records Year-by-Year Results All Time Records Vs. Opponents Individual

南开大学校史工作会议


Microsoft Word - ACL chapter02-5ed.docx

新・解きながら学ぶJava

untitled

untitled

第3章.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc

Microsoft Word - 第3章.doc

Microsoft PowerPoint - ch2.pptx

材 料 目 录 1. 党 员 发 展 及 转 正 流 程 图 2. 申 请 入 党 人 员 基 本 信 息 及 培 养 记 录 表 3. 思 想 汇 报 传 阅 及 意 见 反 馈 表 4. 入 党 积 极 分 子 培 养 考 察 表 5. 政 治 审 查 函 调 信 模 板 6. 政 治 审 查


上海工程技术大学学生党员发展工作流程图


2017ÅàÑø·½°¸

前 言


untitled

新 社 會 政 策 雙 月 刊 內 地 女 性 在 香 港 所 生 的 活 產 嬰 兒 數 目 年 份 活 產 嬰 兒 數 目 其 配 偶 為 香 港 永 久 性 居 民 其 配 偶 為 非 香 港 永 久 性 居 民 其 他 小 計 ,219 L

Microsoft Word - C-pgm-ws2010.doc

C

伴 我 们 永 恒 回 眸 2013, 时 代 环 境 潮 流 都 在 快 速 改 变 在 同 质 化 竞 争 导 致 业 主 口 碑 不 理 想 的 现 状 下, 开 元 物 业 敢 为 人 先, 勇 立 潮 头, 直 面 迎 接 发 展 中 的 新 一 轮 浪 潮 2013 年, 我 们 又 一

路 老 师 名 师 简 介 : 注 册 会 计 师 中 级 会 计 师,8 年 事 务 所 + 财 务 管 理 经 验, 精 通 中 小 企 业 账 务 处 理 全 套 做 账 报 税 财 务 管 理 和 实 战 经 验, 现 任 职 于 一 家 大 型 国 有 集 团 公 司 授 课 特 点 :

14: 6 不做清單上的事, 並不代表我們就可以隨心所欲 ; 我們不做, 是為了更深一層的原因 同樣, 也沒有人會因不受這些清單的捆綁, 就更能活出 豐盛的生命來 14: 15 8: : 17 在所有十誡中, 第十誡往往是最先遭破壞的一條 22: 37, 39 凡是使我們不能愛神與愛

土 木 与 交 通 学 院 发 展 学 生 党 员 的 选 拨 条 件 与 推 荐 细 则 为 进 一 步 规 范 我 院 学 生 党 建 工 作, 加 强 和 完 善 我 院 对 学 生 党 员 各 个 阶 段 人 员 的 选 拔 和 培 养 工 作, 提 高 我 院 发 展 学 生 党 员 质

untitled

校园之星

FY.DOC

Microsoft Word C-A卷.docx

穨推動學校資訊科技教育經驗分享.PDF

Microsoft PowerPoint - Raptor-FlowChart-scy.pptx

C/C++ - 字符串与字符串函数

序 屈 指 数 来, 柔 情 滑 落 指 尖 : 是 父 母 给 了 我 们 生 命, 是 家 人 给 了 我 们 亲 情, 是 朋 友 给 了 我 们 友 谊 ; 是 不 幸 给 了 我 们 成 熟, 是 挫 折 给 了 我 们 坚 定 ; 是 苦 难 给 了 我 们 刚 毅, 是 逆 境 给 了

C/C++语言 - 分支结构

投影片 1

<4D F736F F D BCB6C8ABC8D5D6C6D1A7CAF5D0CDD1D0BEBFC9FAC5E0D1F8B7BDB0B8>

安徽电子工程学校

CC213

Microsoft Word finalSol.doc

< D313738B1F5A46CB5C4B773B1B42DB4BFA5C3B8712E706466>

CTR Media Momentum PR 18.doc

C/C++ - 函数

一、知识与运用(共30分)

2008春節東北三省雪鄉之旅八曰

Microsoft Word - Prog1-981.docx

致 謝 在 研 究 所 這 段 期 間 受 到 了 許 多 人 的 幫 助, 才 有 今 日 我 創 作 及 論 文 的 樣 貌 首 先 我 要 謝 謝 我 的 爸 媽, 知 道 我 自 小 就 喜 歡 塗 塗 畫 畫, 高 中 開 始 為 了 準 備 考 美 術 系 而 每 日 下 課 後 往 畫

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

D2 17/10 食 完 早 餐 去 中 山 陵 和 明 孝 陵, 灵 谷 寺 到 景 区 的 巴 士 : 游 1 游 2 游 路 ( 票 价 在 1-2 元 间 ) 三 个 地 点 中 间 凭 门 票 免 费 乘 坐 景 区 小 火 车 往 来 晚 上 有 力 气 的 话 去 夫 子

Microsoft PowerPoint - 07b1 Max and Sum.ppt [相容模式]

三 练 四 ji 佟 n j 佾 n sh 俅 xi 佗 n 1. 坚 :( ) 决 ( ) 急 ( ) 立 ( ) 惠 b 侪 p 侪 2. 发 : 调 ( ) ( ) 水 丶 3. 友 b 佗 b 佗 : ( ) 出 ( ) 涉 zh 伽 i z 佗 q 侃 n ti 佗 o 4. 条 : 营

Transcription:

The Twelve Days of Xmas https://www.youtube.com/v/kqeobzlx Z8 丁培毅 1

On the first day of Xmas A Partridge in a Pear Tree On the second day of Xmas On the third day of Xmas On the fourth day of Xmas Lyrics On the fifth day of Xmas On the sixth day of Xmas On the seventh day of Xmas On the eighth day of Xmas 2

On the ninth day of Xmas On the tenth day of Xmas On the eleventh day of Xmas 11 Pipers Piping and a Partridge in a Pear 6 Geese Tree a Laying On the twelfth day of Xmas 12 Drummers Drumming 11 Pipers Piping 3

題目 請設計一個 C 程式, 列印出聖誕歌謠 12 Days of Christmas 完整的 12 段歌詞 請運用 for 迴圈 switch 敘述 及字串陣列設計 ( 上面 switch 的運用可以用迴圈取代 ) 請注意一定要避免重複的敘述 請小心歌詞中 and 連接詞以及冠詞 A 的大小寫 範例輸出 On the first day of Christmas A Partridge in a Pear Tree On the second day of Christmas On the third day of Christmas On the twelfth day of Christmas 12 Drummers Drumming 11 Pipers Piping 4

Bizarre Obfuscated Non example main(t,_,a)char* a;{ return! 0<t? t<3?main( 79, 13,a+main( 87,1 _,main( 86, 0, a+1)+a)):1,t<_?main(t+1, _, a ):3,main( 94, 27+t, a)&&t == 2?_<13?main(2, _+1, "%s %d %d\n"):9:16:t<0?t< 72?main(_, t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+, /+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+k w'k:'+}e#';dq#'l q#'+d'k#!/+k#;q#'r}ekk#}w'r}ekk{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'k {rw' ik{;[{nl]'/w#q#n'wk nw' iwk{kk{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c ;;{nl' {}rw]'/+,""}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/"):t< 50?_==*a?putchar(31[a]):main( 65,_,a+1):main((*a == '/') + t, _, a + 1):0<t?main(2, 2, "%s"):*a=='/' main(0,main( 61,*a, "!ek;dc i@bk'(q) [w]*%n+r3#l,{}:\nuwloca O;m.vpbks,fxntdCeghiry"),a+1); } 印出的歌詞裡有兩個地方有錯, 好想把它改過來, 可是 5

設計方法與分析 1. 由範例輸出可以看到輸出有 12 個段落, 這一定需要一個迴圈, 因為在進入迴圈之前就知道需要做 12 次, 所以用一個 for 迴圈是很合適的, 每一次迴圈內列印出 1 個段落 On xxx my and a Partridge 其中藍色部份是每次迴圈執行時都不同的 On the first day of Christmas A Partridge in a Pear Tree On the twelfth day of Christmas 12 Drummers Drumming 11 Pipers Piping 2. xxx 代表 first, second, third, fourth,, twelfth 這些字串, 如果 for 迴圈的控制變數 i 由 0 遞增到 11 的話, 需要設計一個字元的指標陣列, 例如 const char *const ordinal[] = {"first", }; 然後在迴圈內運用 printf("on %s ", ordinal[i]); 來列印 6

3. 迴圈第一次執行時印一列, 第二次印兩列,, 第十二次印十二列, 這樣的表現看起來需要第二層的迴圈, 執行的次數由第一層迴圈的控制變數去算出來, 例如 : for (i=0; i<12; i++) // 印出 12 段歌詞 { } 或是 for (j=i; j>=0; j--) 印出步驟 2 的結果印出前 i+1 列 for (j=11 i; j<=11; j++) const char *sentences[] = {"a Partridge ",, 印出最後 i+1 列 "12 Drummers "}; ( 可以像步驟 2 中一樣設計一個字元的指標陣列 const char *sentences[] = {"12 Drummers ",,"a Partridge "}; 4. 和步驟 3 等效的另一種寫法是用 switch 敘述, 你可以想一下 測試一下下面這段程式的輸出 switch (paragraph) { case 12: printf("12 "); case 11: printf("11 "); } paragraph 為 12 時是不是印出兩列? paragraph 為 11 時是不是只印出一列? 嘗試修改為我們需要的功能 7

5. 步驟 3 或是步驟 4 中我們沒有特別去處理第 1 段歌詞中是 A Partridge in a Pear Tree, 但是在第 2 段到第 12 段歌詞中是 的問題, 該怎樣不重複程式碼又能夠只修改這一點點呢? a. 第一種方法是 if (i==0) // 第 1 段 printf("a Partridge in a Pear Tree\n"); else printf("\n"); 當然這樣還是有一部份重複 b. 簡單的改一下 if (i==0) // 第 1 段 printf("a"); else printf("and a"); printf(" Partridge in a Pear Tree\n"); 反正相同的部份就不要重複就是了 8

5. c. 程式可以再改一點點, 多運用變數來改變程式的表現, char article = 'A'; if (i>0) article = 'a'; printf("%c Partridge in a Pear Tree\n", article); 至於 and 就合併到 \nand 字串的後面, 反正印出 \n 時下一列一定是 and 開頭 6. 在這個程式的設計過程裡, 你也許發現我們某種層面上盡量在避開運用 if 或是 switch 把程式裡面各種選項展開來 ( 步驟 4, 步驟 5a, 和步驟 5b), 這樣子做當然讓程式可以很快地達成我們要求的表現, 但是你可以想像如果今天不是 12 段歌詞, 而是 120 段, 那麼用 switch 就頭痛了, 像這樣的考量其實在設計很多程式時都會不斷出現, 基本上不管是 12, 120, 或是 2, 其實寫程式的人都會像這樣有兩種考量, 有時你也許接到程式的需求時是 10, 可是後來付錢的人又改成 100, 你還是需要去滿足顧客的需求的, 有錢就任性囉! 9