一、前言

不知不觉已经大三上学期了,可作为一个计算机狗还没有考过CCF-CSP。因平时学习内容主要与安全方面相关,对于此类算法类的考核并没有太多的准备,故打算开始刷题复习算法和数据结构,准备CCF认证。在这里选择杭电的OJ作为准备此次CCF备考的练习题目。

虽然平时在学校里使用java语言较多,但考虑到语言运行速度和语法及编译器的熟练程度,以及网络上对于OJ题目的解法大多为c/c++编写,故此次打算报名c/c++作为编写语言,并使用CCF官方给出的devcpp作为编译环境。因此笔者在解题过程中可能会较多使用STL,并对其功能进行一些讲解。同时,笔者会尽量采用较为基础、常见的算法解题,可能会在额外时间和额外内存上无法做到完美,适合与算法初学者、基础者交流。

由于杭电OJ的题目较多,笔者会对其中部分题目进行个人分析和源代码的展示,并以题目类型进行分类。仅供学习和交流。

二、题解

2072、单词数

2072、单词数

此题的思路很简单,我们接收一个字符串,将其中的单词逐个提取出来;然后构造一个结构存储单词字符串,此结构初始时为空,每次将逐个取出的单词与此结构中的所有单词比较,如果此单词已经存储,继续提取下一个单词;如果还未存储,那么存储此单词在结构中,单词计数器加一。

此题有以下几个需要注意的地方:

1、输入字符串的接收。如果我们仅使用cin来输入字符串,那么遇到空格时,一次输入就会结束,无法接收完整的字符串。故在此题中需要使用以下:

getline(cin,string s),可以输入时接收空格在字符串中,遇到回车符结束一次输入。包含在<string>头文件中。

2、存储结构的选则。因为我们一开始不知道一句话会有多少个单词,也不知道单词数的上限,所以选择可变长结构vector来存储字符串。因此,我们在最后计算单词个数时,既可以使用自定义的计数器count,也可以直接使用函数vector.size()。

3、此题可能会出现在句子开头、结尾出现空格以及两个单词中间出现多个空格的情况,要在程序中予以考虑。

笔者源代码如下:

#include

-----------------------------------------待更新----------------------------------------------

c++怎么输入带有空格的字符串_杭电OJ 字符串处理类部分题解相关推荐

  1. c++ substr截取中间部分字符串_杭电OJ 字符串处理类部分题解

    一.前言 不知不觉已经大三上学期了,可作为一个计算机狗还没有考过CCF-CSP.因平时学习内容主要与安全方面相关,对于此类算法类的考核并没有太多的准备,故打算开始刷题复习算法和数据结构,准备CCF认证 ...

  2. 田忌赛马贪心算法_杭电oj 1052田忌赛马问题

    问题描述 这是中国历史上的一个著名故事. "那是大约2300年前.田吉将军是齐国的一位高级官员.他喜欢与国王和其他人打赛马." "田和国王都拥有三匹不同级别的赛马,分别是 ...

  3. C++描述杭电OJ 2017.字符串统计||

    C++描述杭电OJ 2017.字符串统计|| Problem Description 对于给定的一个字符串,统计其中数字字符出现的次数. Input 输入数据有多行,第一行是一个整数n,表示测试实例的 ...

  4. C++描述杭电OJ 2014. 青年歌手大奖赛_评委会打分 ||

    C++描述杭电OJ 2014. 青年歌手大奖赛_评委会打分 || Problem Description 青年歌手大奖赛中,评委会给参赛选手打分.选手得分规则为去掉一个最高分和一个最低分,然后计算平均 ...

  5. 递归 反转字符串_使用递归反转字符串

    递归 反转字符串 1.简介 在本文中,您将学习如何使用递归方法来反转字符串. 第一个程序是反转字符串,第二个程序将读取用户的输入. 在之前的文章中,我已经展示了如何不使用任何内置函数来反转字符串,以及 ...

  6. c替换指定位置字符串_【JavaScript】字符串

    字符串 字符串可以是插入到引号中的任何字符.你可以使用单引号或双引号: var carname = "MI"; 可以使用索引位置来访问字符串中的每个字符: var characte ...

  7. python如何连续查找字符串_在另一个字符串Python中多次查找字符串

    我尝试使用Python的预定义函数(如find和index)查看一个字符串是否存在于另一个字符串中..在 现在我的函数有两个字符串作为参数,一个是我们要搜索的字符串,另一个字符串是我们在第一个字符串中 ...

  8. 什么是java字符串_什么是java字符串

    java字符串是string类,Java程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现.字符串是常量:它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串.因 ...

  9. c++怎么输入带有空格的字符串_字符串,啥东东?

    朋友学了若干天C++后-- 首先,先来看看char,他是字符类型的.假设创建a的字符.便char a; 它可以创建名为a的字符储存,注意,是字符,不是字符串. 意味着,只能将a='a';,等于一个字符 ...

最新文章

  1. linux 源码安装e1000e,linux安装网卡e1000e
  2. 基于Struts2的供求信息网设计(三)
  3. 如何使用IMPORT关键字读取ABAP cluster表里的数据到ABAP内表
  4. JavaBean的get、set方法生成器
  5. 转:巧用搜狗输入法输入英文单词
  6. testlink自带java api_java如何连接testlink
  7. 【POJ - 1456】Supermarket (贪心,优先队列 或并查集)
  8. 兰空图床Lsky Pro 免费开源图床网站程序v1.6.3
  9. 嵌入式 IOT 汽车 航空 AI 领域从IP到片上系统SOC信息检索网站 DR
  10. 一种基于折射反向学习机制与自适应控制因子的改进樽海鞘群算法
  11. word打出计算机图形符号,word显示所有格式标记
  12. 什么是传统企业电商洪水围城下的诺亚方舟
  13. 80后:结婚太难 ZZ
  14. 洋酒销售系统的设计与实现(附源码+资料+论文+截图+数据库)
  15. MiniGUI源码分析——GDI概览及Surface
  16. 万维网、因特网和互联网的区别
  17. etcd入门系列三:身份验证访问控制
  18. Leetcode.1718 构建字典序最大的可行序列
  19. Android MVP模式介绍和讲解
  20. 基于Pytorch的强化学习(DQN)之Q-learning

热门文章

  1. python内存的回收机制_简单介绍python的垃圾回收机制
  2. Pytorch(一) --线性模型
  3. 线段 LibreOJ - 10007(贪心)
  4. Special Permutation CodeForces - 1352G(构造)
  5. 02.Python基础_标准数据类型_数值型_字符串
  6. 虚拟服务器 cms安装,轻量化云服务器怎么安装cms
  7. 公众号知道我浏览他吗_公众号可以看到访客吗,公众号怎么看到访客
  8. byte数组存的是什么_结构体内存对齐是什么鬼?
  9. 深度学习(5)TensorFlow基础操作一: TensorFlow数据类型
  10. 逆序输出1到4位正整数