// using stringstream.
#include <iostream>
#include <sstream>
#include <string>
#include <map>
using namespace std;
// 统计单词数量
int countWords(string str)
{
stringstream s(str); // 以空格为分隔符,分割每个单词
string word; // 存储单个的单词
int count = 0;
while (s >> word)
count++;
return count;
}
// 统计每个单词的词频
void printFrequency(string st)
{
map<string, int> FW; // map保存每个单词的词频
stringstream ss(st); // 分割每个单词
string Word; // 保存每个单词
while (ss >> Word)
FW[Word]++;
map<string, int>::iterator m;
for (m = FW.begin(); m != FW.end(); m++)
cout << m->first << " -> "
<< m->second << "\n";
}
// Driver code
int main()
{
string s = "geeks for geeks geeks contribution placements";
cout << " Number of words are: " << countWords(s) << endl;
printFrequency(s);
return 0;
}
stringstream
最新推荐文章于 2024-02-21 15:20:05 发布