小弟学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试着用纸笔把循环的概念写出来看看然后再把程式照着写出的概念做总得自己先把程式弄出来才知道自己哪里不足
“写不太出来”反过来看,至少你还能写出一点,加油至少先写过才有个东西可以评判
作者: longlongint (华哥尔) 2016-05-02 00:35:00
跑跑看书上类似的范例如果还是不懂 就看人当面示范 或逐步执行程式
楼主: tsaijacob (玥) 2016-05-02 00:53: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]