看板 C_and_CPP 關於我們 聯絡資訊
小弟學C甚淺,在學到指標跟陣列的綜合題時卡住了。 題目的大意是這樣:寫一個程式讀進數行的文字,然後印出每個單字出現的次數。 小弟想法是偵測到空白時,就儲存一個字串。 但是現在空有想法,卻寫不出來。 只知道要用陣列以及指標方式來寫,請問有大大能指點一下嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.134.68 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1462115650.A.5BA.html
wtchen: 設個buffer: char[N] , N要夠大裝的下你的字串 05/01 23:24
wtchen: 有新字串: pointer跳到buffer最前面 05/01 23:25
wtchen: 沒空白: buffer[i++] = 讀到的char, 05/01 23:26
wtchen: 有空白:儲存字串,pointer跳到buffer最前面, 05/01 23:26
wtchen: 這樣讀到檔案讀完 05/01 23:26
wtchen: 這樣有概念了嗎?還沒概念的話還是多看點書上的例子 05/01 23:27
tsaijacob: 是有概念了 但是寫不太出來 05/01 23:38
wtchen: 試著用紙筆把迴圈的概念寫出來看看 05/02 00:09
wtchen: 然後再把程式照著寫出的概念做 05/02 00:10
wtchen: 總得自己先把程式弄出來才知道自己哪裡不足 05/02 00:12
Frozenmouse: 「寫不太出來」反過來看,至少你還能寫出一點,加油 05/02 00:22
Frozenmouse: 至少先寫過才有個東西可以評判 05/02 00:22
longlongint: 跑跑看書上類似的範例 05/02 00:35
longlongint: 如果還是不懂 就看人當面示範 或逐步執行程式 05/02 00:36
tsaijacob: 書上沒有類似題目 這個題目是我們老師出的 05/02 00:53
tsaijacob: 剛剛試著寫看看 應該是寫得出來 感謝 05/02 00:54
sarafciel: 沒禁用library的話用strtok跟strcmp寫看看吧 05/03 18:18
exeex: 寫一個iterator按空格把單字抓出來 如同wtchen大大所述 05/04 11:16
exeex: 把所有單字(char*)存在一個char* words[]裡面 05/04 11:18
exeex: strcmp(words[i],word[j])有相同的話就刪掉後者(j) 05/04 11:21
exeex: 用另一個陣列int[i]計算出現次數 遇到被刪掉的內容就跳過 05/04 11:23
exeex: 新單字char*要用malloc動態宣告 或者用二維陣列words[i][j] 05/04 11:26