18 統計單詞
問題描述 :
實驗目的:string、vector、類的綜合應用。
實驗內容:
從鍵盤輸入一篇文章,統計其中單詞出現的次數(不區分大小寫),並輸出出現次數排名第一的單詞及其次數。注意:可能有多個單詞並列第一,需要全部輸出。輸出時,如果有多個單詞排名並列,則按其在文章**現的先後順序輸出,先出現的先輸出。
說明:為簡單起見,單詞的含義是空白字元分隔開的連續字串。比如「i love china!」這句話包含三個單詞,第三個單詞是「china!」(包括其中的感嘆號),再如「hi !」,這句話包含兩個單詞,第二個單詞僅為乙個感嘆號。
int main()
vectorvwc;
string str;
int i;
while(cin>>str)
displayresult(vwc);
return 0;
其中:
wordcount類:儲存單詞及其出現次數
tolower函式:傳入乙個字串,將其中大寫英文本母轉換為小寫、其餘字元保持不變,返回轉換後的結果。
countword函式:傳入乙個vector和乙個單詞,在vector中查詢該單詞是否已存在(注意:vector中的元素為wordcount物件,該物件有乙個屬性為單詞字串),如果已存在,則將其出現次數加1,否則在vector中新增乙個元素(wordcount物件),該元素儲存這個新的單詞及其出現次數(此時為1)。
displayresult函式:傳入乙個vector,輸出其**現次數最高的單詞及其次數。
請實現以上定義的wordcount類及三個函式。
輸入說明 :
輸入一篇文章,其中包含可見字元及空白字元(可能有換行)。
輸出說明 :
每個單詞佔一行,如果有n個單詞,則輸出n行,
每行首先輸出單詞(以小寫字母形式輸出),然後輸出乙個空格,再輸出單詞的出現次數。
單詞輸出的順序按照在文章**現的先後順序。
輸入範例:
abc abc, abc.
abc!
abc, def
def輸出範例:
abc, 2
def 2
#include
#include
#include
using
namespace std;
string tolower
(string &a)
return b;
}class
wordcount};
//非static型別變數不能類外初始化也不能類內定義時初始化//
void
countword
(vector
&c,string d)
//涉及更改stl的必須引用//}if
(!flag)
return;}
void
displayresult
(vector
&c)for
(int i=
0;isize()
;i++)}
intmain()
displayresult
(vwc)
;return0;
}
東華OJ基礎題90 選票統計
問題描述 學生會主席投票選舉工作正在舉行。本次投票將採用電腦統計選票的方式,當投票選舉正式開始後,同學們將排隊一 一走到電腦前,投上自己神聖的一票 在電腦前輸入乙個姓名,然後輸入回車表示確認。投票結束後顯示得票最高的同學姓名,該同學將當選為新一屆學生會主席。請程式設計統計投票。輸入說明 輸入包含多行...
東華OJ 基礎題 64統計字母
問題描述 輸入一串字串,以 結束,不分大小寫,統計其中每種英文本元出現的次數。輸入說明 你的程式需要從標準輸入裝置 通常為鍵盤 中讀入多組測試資料。每組輸入資料由一行組成,其中只包括大小寫的英文本母和 且以 結尾,每行字元數不超過100。兩組資料之間沒有多餘的空行。在行首和行尾沒有多餘的空格。輸出說...
東華OJ高階題68 最長的單詞
68 最長的單詞 問題描述 明明剛開始學習英語的時候,對英語有濃厚的興趣,但是隨著時間的推移,英語單詞量的增加,明明越來越覺得背單詞是一件相當痛苦的事情。於是他想出各種各樣的方法來增加背單詞的樂趣。這次他想出的方法是把所有要背的英語單詞排成一行,找出其中最長的乙個單詞來先背,然後劃去這個單詞,在剩下...