源於《the c programming language》p14的一道例題:
統計輸入中的行數,單詞數,字元數(單詞的定義:其中不包括空格,製表符,換行符的字串行)
#include
#define in 1
#define out 0
int main()
int c, nl, nw, nc, state;
state = out;
nl = nw = nc = 0;
while((c = getchar()) != eof)
++nc;
if(c == '/n')
++nl;
if(c == ' ' || c == '/t' || c == '/n')
state = out;
else if(state == out)
state = in;
++nw;
return 0;
1, 對於第二個if語句,當出現這些字元時,認定乙個單詞已經結束,故將state賦值為out,這一點在設計的時候不太容易想到。
2, 用兩個分開的if語句的清晰度高於乙個if-else語句(謹針對本例),因為第二個if語句是個if-else語句,如果在第二個ifz之前加上else
會增加閱讀的難度。
C getchar 統計輸入的行數,單詞數,字元數
include include copy input to output 1st version getchar 是stdio.h中的庫函式,它的作用是從stdin流中讀入乙個字元,也就是說,如果stdin有資料的話不用輸入它就可以直接讀取了,第一次呼叫getchar 時,確實需要人工的輸入,但是如...
Ruby中實現統計檔案行數 單詞數和字元數
在ruby中我們定義乙個wc方法,用來統計檔案 現的文字行數 單詞數和字元數,ruby 程式如下 www.cppcns.com 複製 如下 jjevltv def wc filename nline nword nchar 0 file.open filename do io io.each lin...
題解 統計字串中單詞數目
題目 輸入一行字元,統計其中有多少個單詞,每兩個單詞之間以空格隔開。如輸入 this is a c program.輸出 there are 5 words in the line.本講結構 二 相關習題 四 其他寫法的 正文 針對乙個剛讀入的符號如何判斷?二 相關習題 2.輸入一行字元,統計其中有...