統計輸入中的行數,單詞數,字元數

2022-07-02 05:24:07 字數 665 閱讀 4157

源於《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.輸入一行字元,統計其中有...