① C++編程 編寫函數計算一個英文句子中的單詞個數
【思路解析】
計算英文句子中的單詞個數通常有兩種辦法:一種是指定固定的分隔符,比如指定空格或者逗號或其它符號為分隔符,除此之外的所有字元都會被認定為單詞的有效字元,比如指定空格為分隔符,則Iloveher(rose).這個句子中只有3個單詞,因為her(rose)之間沒有空隔隔開,會被認為是一個單詞。另一種是只承認字母為單詞的有效字元,除此之外的所有字元都會被認定為分隔符。比如同樣是上面的句子,用第二種辦法就會統計出4個單詞,因為her和rose之間被一個括弧隔開,會被認為是兩個單詞。但是不管是哪一種,其實在編程上思路都是一樣的。
統計一個字元串中單詞的個數,最關鍵的問題是如何使有效字元不重復統計。比如碰到love這個單詞,檢測到l是一個有效字元,單詞個數增加1,但緊接著是o也是有效字元,但單詞的個數就不能再增加1,否則就會造成重復統計。這可以用一個while語句來實現跳過。整體的思路是這樣的:
對字元串中所有的字元一個個檢測,直到字元串結束為止,如果碰到有效字元,單詞個數增加1,然後用while語句跳過所有有效字元,不斷重復這個過程就可以統計出單詞的個數。
下面給出兩種不同方法的代碼,分別寫成一個獨立的函數,具體如下:
【程序代碼】
#include<iostream>//控制台操作頭文件
#include<string.h>//字元串操作頭文件
//---------------
intWordCount(charS[],chara)//統計單詞個數函數(a是分隔符)
{inti=0,n=0;//循環變數和單詞個數
while(S[i]!='