統計一行字串的單詞個數(詳解,C語言)

2021-10-05 16:02:54 字數 939 閱讀 8400

問題簡述:

輸入一行字元,統計其中有多少個單詞,單詞之間用空格分開

輸入樣例:

i want to be a postgraduate.
輸出樣例:
there are 6 words in this line.
解題思路:

採用空格統計單詞的方法:空格出現的次數(連續的若干個空格作為出現一次空格;一行開頭的空格不統計在內)決定單詞個數。

【具體做法】:從第乙個字元開始逐個檢查字串中的字元,如果測出某個字元為非空格,而它的前面的字元是空格,則表示新的單詞開始了。設變數count來累計單詞個數,初值為0。當發現新的單詞開始,就使count累計1。如果當前字元為非空格而前面的字元也是非空格,則意味著仍然是原來那個單詞的繼續,count不再累加1。怎樣知道前面乙個字元是否是空格呢?可以設乙個變數flag,用來表示指定的字元是否為空格,以flag為0代表前乙個字元是空格;flag為1代表前乙個字元是非空格,flag初始為0。

n-s圖:

程式**:

/*

*/#include

#include

intmain

(void)}

printf

("there are %d words in this line.\n"

,count)

;return0;

}

注意:當第一次迴圈時,即c = 『i』 時,預設前乙個字元為空格,即flag = 0,首次執行的是else if

測試結果:

統計一行字元的單詞數

題目 輸入一行字元,統計其中包括多少單詞,單詞之間用空格分隔。要求 輸入格式 a b c d回車 空格可在任意位置,列如行頭行尾可能會有空格。另外數字和字母一樣,也可作為單詞 輸出格式 單詞數 輸入的字串長度最長為256個字元 測試輸入 空格 a a 112 c 空格 回車 輸出 4 用乙個字元陣列...

統計一行文字的單詞個數

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 張彤彧 浙江大學 本題目要求編寫程式統計一行字元中單詞的個數。所謂 單詞 是指連續不含空格的字串,各單詞之間用空格分隔,空格數可以是多個。輸入格式 輸入給出一行字元。輸出格式 在一行中輸出...

統計一行文字的單詞個數

輸入格式 輸入給出一行字元。輸出格式 在一行中輸出單詞個數。輸入樣例 let s go to room 209.輸出樣例 5 includeint main else printf d n count return 0 先輸入字串 為空格時跳過且i 1 後乙個迴圈條件為迴圈到 0時結束 如果不為空格...