请使用C++字符串流结合常用STL容器完成以下功能:
统计这段文字的不重复的单词个数(即多次出现的单词只计为一个) 纯数字的单字不作为单词 注意本题要求:
main函数已写好如下,只提交termFrequency()和alphabetSortedFrequency()函数 头文件需由自己包含
<span class="hljs-function"><span class="hljs-type">int</span> <span class="hljs-title">main</span><span class="hljs-params">()</span> </span>{
<span class="hljs-comment">// 从标准输入获取文本串</span>
std::string content;
std::<span class="hljs-built_in">getline</span>(std::cin, content, <span class="hljs-string">'\n'</span>);
map<string, <span class="hljs-keyword">unsigned</span>> msu;
<span class="hljs-comment">// 要求termFrequency实现分词,去掉标点</span>
<span class="hljs-comment">// 获取单词存放在map中,记录词频(出现次数)</span>
<span class="hljs-comment">// 最后返回不重复的单词数量 </span>
<span class="hljs-keyword">unsigned</span> nWords = <span class="hljs-built_in">termFrequency</span>(content, msu);
<span class="hljs-comment">// 按首字母A-Z排序一行一词输出词频</span>
<span class="hljs-built_in">alphabetSortedFrequency</span>(msu);
<span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;
}
输入 一段不换行、含句号、逗号、双引号的英文文字。
输出 按单词首字母A-Z排序,一行一词输出小写单词和频数,如
<span class="hljs-attribute">apple</span>:<span class="hljs-number">10</span>
<span class="hljs-attribute">banana</span>:<span class="hljs-number">5</span>
<span class="hljs-attribute">cherry</span>:<span class="hljs-number">1</span>
输入样例 1 No matter what difficulties we encounter, don't be afraid and face them with a smile. The best way to eliminate fear is to face the fear itself. "Persistence is victory".
输出样例 1
<span class="hljs-attribute">a</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">afraid</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">and</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">be</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">best</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">difficulties</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">don</span>'t:<span class="hljs-number">1</span>
<span class="hljs-attribute">eliminate</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">encounter</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">face</span>:<span class="hljs-number">2</span>
<span class="hljs-attribute">fear</span>:<span class="hljs-number">2</span>
<span class="hljs-attribute">is</span>:<span class="hljs-number">2</span>
<span class="hljs-attribute">itself</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">matter</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">no</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">persistence</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">smile</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">the</span>:<span class="hljs-number">2</span>
<span class="hljs-attribute">them</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">to</span>:<span class="hljs-number">2</span>
<span class="hljs-attribute">victory</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">way</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">we</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">what</span>:<span class="hljs-number">1</span>
<span class="hljs-attribute">with</span>:<span class="hljs-number">1</span>
提示 仅考虑半角句号、逗号、双引号 " " 三种标点 应考虑大小写差异,可包含头文件用transform函数进行大小写转换 可使用stringstream类判断字符串是否表示数字