[計程] 我寫gundam8 Dictionary 的logic
今天晚上9:00 p.m. 我見到還有54個人是sleeping
我知道大家都為了期中考辛苦了
如果程式真的想不出來 這裡我提供我寫這個program的logic
小心不要被雷到呀~~~~
============================================================================
1. 如何把生字和其他東西分開?
我是用一個getchar()的function (用法: c = getchar()) 然後檢查c是不是alpha
如果是的話 把c放入暫存的字串陣列直至遇到不是alpha為止
不明白我講甚麼?
x代表現時是第幾個字母
if isalpha(c) then temp[x] = tolower(c)
^轉做小寫字母
以上都不是code 不要直接copy & paste
直到遇到不是alpha 你會得到一個名字為temp的陣列 而temp 裏面放了一個生字
2. 建立一個dictionary的陣列 把找到的字和dictionary裏面的生字做比對 一個一個去
比對 如果發現有重覆 不用再比對了 開始再一個新的生字做比對 如果發現沒有 把
生字加入dictionary
*注要: strcmp(const char *s1, const char *s2) 如果 s1 比 s2 大的時候 會
return 1 相反是-1 記得 a<b<c<d<e<f.......<x<y<z
不明白?
dictionary的第一個element = a
dictionary的第二個element = c
現時我用b去做比對
strcmp('b','a') return 1
strcmp('b','c') return -1
所以b應該放在a和c中間
把c放入 dictionary的第三個element 然後 把 b放入第二個element
基本上只有這兩步
好了 現時說一下可能會出現的bug(我寫時出現的bug)
1. 最後一個是字母: 因為我是發現不是字母才會檢查dictionary 所以整篇文章最後一個
字元是字母的話 是不會檢查dictionary的
2. 記住 一個文件的結束是 EOF (end of file) 而不是 '\n' 換行字元
最後 有人問我 如果我在自己電腦輸入文字的話 那應該如何輸入 EOF的字元呢?
答案是 輸入CTRL+Z 按enter輸入eof
===========================================================================
後記:
昨天晚上 因為我沒有經過大腦思考 發了一篇不該發的文章 請大家不要介意
當作在沙地上寫的字一樣 當作沒見過
我應該要學用ptt 而不是希望改變大家的習慣...........................
(回覆的語氣不要這麼重 我知錯了...)
還有這個是最基本的寫法 不是最好的
希望有人提點
這個是最後一個我會的chapter 日後 我想不應該是我打心得 應該是由jennya他們打
.......................................................
其實我不問人是有原因的
因為有一次我問...和... (都是不要講名字了)
一個同我講好累
一個回應的意思是不關我事
我知道 我只是一個中下水平的overseas student 但不要因為如此而不回答我的問題
........................................................
小記: 感冒的人可以找我 我有很多藥(由抗生素到普拿痛都有)
(我已經感冒2個月了.....)
結束: 今天的單班物理 希望有人教我
Yours sincerely,
修道院
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.239.70
推
11/07 00:07, , 1F
11/07 00:07, 1F
推
11/07 00:15, , 2F
11/07 00:15, 2F
→
11/07 00:34, , 3F
11/07 00:34, 3F
→
11/07 00:35, , 4F
11/07 00:35, 4F
推
11/07 00:52, , 5F
11/07 00:52, 5F
→
11/07 00:52, , 6F
11/07 00:52, 6F
→
11/07 00:52, , 7F
11/07 00:52, 7F
→
11/07 00:53, , 8F
11/07 00:53, 8F
推
11/07 01:23, , 9F
11/07 01:23, 9F
推
11/07 01:23, , 10F
11/07 01:23, 10F
推
11/07 01:49, , 11F
11/07 01:49, 11F
推
11/07 21:32, , 12F
11/07 21:32, 12F
推
11/07 21:41, , 13F
11/07 21:41, 13F
推
11/07 23:04, , 14F
11/07 23:04, 14F
推
11/08 23:09, , 15F
11/08 23:09, 15F
推
11/09 01:21, , 16F
11/09 01:21, 16F
推
11/09 01:21, , 17F
11/09 01:21, 17F