單詞計數(C語言)

2021-10-10 13:20:06 字數 793 閱讀 4443

題目:統計行數,單詞數與字元數,這裡單詞的定義是不包含任何空格,換行,製表符的字串行。

方法1:

該方法是自己沒看書中**,根據**塊下面思路提示編寫的**;

#include

#include

#define out 0

#define in 1

intmain()

else

if(state == in)

}printf

("輸入的字元個數為%d:\n"

, nc)

;printf

("輸入的行數為%d:\n"

, nl)

;printf

("輸入的單詞數為%d:\n"

, nw)

;return0;

}

方法2:

這裡是書中的**(簡略);

for

(nc =0;

(ch =

getchar()

)!=eof;

++nc)

else

if(state == out)

感覺我們的主要區別在我對於上一次輸入字元所屬狀態的處理不太好,自己寫的時候對於「如果連續輸入的字元都屬於單詞字元」不懂怎麼處理;我的方法是讓state進行自加,遇到非單詞字元跳出,遇到單詞字元時單詞數+1,根據是否處於第乙個單詞狀態對單詞數進行統計;而書中方法是根據字元是否位於單詞中進行判斷,對於連續輸入的單詞字元,只需把標誌置為in就可以了,後面的單詞字元不做任何處理。

C程式語言 練習1 單詞計數

程式用於統計行數 單詞數與字元數。這裡對單詞的定義比較寬鬆,它是任何其中不包括空格,製表符或換行符的字串行。include define in 1 在單詞內 define out 0 在單詞外 統計輸入的行數 單詞數 與字元數 void main printf d,d,d n nl,nw,nc pr...

C10 1 單詞計數

100 100 分數 題目描述 編寫乙個程式,從鍵盤輸入乙個個單詞,每接收到乙個單詞後,輸出該單詞曾經出現過的次數,接收到 quit 單詞後程式直接退出。建議使用multiset或者map來解決該問題 輸入描述一行乙個單詞,quit 結束 輸出描述每行輸出為相應單詞統計結果 樣例輸入 c mapse...

Spark Streaming 單詞計數

從資料來源接收資料,然後把資料儲存在記憶體中供spark streaming使用,在本地執行spark streaming不能設定master為local或者local 1 此時執行的執行緒只有乙個,因為需要乙個執行緒去執行receiver接收資料,因此,就沒有執行緒去處理資料了 def main ...