[問題] C 指標陣列問題

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

Links booklink

Contact Us: admin [ a t ] ucptt.com