weixin_50471399 2021-06-25 09:18 采纳率: 0%
浏览 30

想知道这种文件流和STL的结合题该怎么做?

请使用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类判断字符串是否表示数字

  • 写回答

1条回答 默认 最新

  • Maxnan 2021-06-26 12:12
    关注

    BJFU校友?

    评论

报告相同问题?

悬赏问题

  • ¥15 神经网络模型一直不能上GPU
  • ¥15 苍穹外卖拦截器token为null
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
  • ¥15 Android studio AVD启动不了
  • ¥15 陆空双模式无人机怎么做
  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关
  • ¥15 C#中的编译平台的区别影响