c++怎么输入带有空格的字符串_杭电OJ 字符串处理类部分题解
一、前言
不知不觉已经大三上学期了,可作为一个计算机狗还没有考过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 字符串处理类部分题解相关推荐
- c++ substr截取中间部分字符串_杭电OJ 字符串处理类部分题解
一.前言 不知不觉已经大三上学期了,可作为一个计算机狗还没有考过CCF-CSP.因平时学习内容主要与安全方面相关,对于此类算法类的考核并没有太多的准备,故打算开始刷题复习算法和数据结构,准备CCF认证 ...
- 田忌赛马贪心算法_杭电oj 1052田忌赛马问题
问题描述 这是中国历史上的一个著名故事. "那是大约2300年前.田吉将军是齐国的一位高级官员.他喜欢与国王和其他人打赛马." "田和国王都拥有三匹不同级别的赛马,分别是 ...
- C++描述杭电OJ 2017.字符串统计||
C++描述杭电OJ 2017.字符串统计|| Problem Description 对于给定的一个字符串,统计其中数字字符出现的次数. Input 输入数据有多行,第一行是一个整数n,表示测试实例的 ...
- C++描述杭电OJ 2014. 青年歌手大奖赛_评委会打分 ||
C++描述杭电OJ 2014. 青年歌手大奖赛_评委会打分 || Problem Description 青年歌手大奖赛中,评委会给参赛选手打分.选手得分规则为去掉一个最高分和一个最低分,然后计算平均 ...
- 递归 反转字符串_使用递归反转字符串
递归 反转字符串 1.简介 在本文中,您将学习如何使用递归方法来反转字符串. 第一个程序是反转字符串,第二个程序将读取用户的输入. 在之前的文章中,我已经展示了如何不使用任何内置函数来反转字符串,以及 ...
- c替换指定位置字符串_【JavaScript】字符串
字符串 字符串可以是插入到引号中的任何字符.你可以使用单引号或双引号: var carname = "MI"; 可以使用索引位置来访问字符串中的每个字符: var characte ...
- python如何连续查找字符串_在另一个字符串Python中多次查找字符串
我尝试使用Python的预定义函数(如find和index)查看一个字符串是否存在于另一个字符串中..在 现在我的函数有两个字符串作为参数,一个是我们要搜索的字符串,另一个字符串是我们在第一个字符串中 ...
- 什么是java字符串_什么是java字符串
java字符串是string类,Java程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现.字符串是常量:它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串.因 ...
- c++怎么输入带有空格的字符串_字符串,啥东东?
朋友学了若干天C++后-- 首先,先来看看char,他是字符类型的.假设创建a的字符.便char a; 它可以创建名为a的字符储存,注意,是字符,不是字符串. 意味着,只能将a='a';,等于一个字符 ...
最新文章
- linux 源码安装e1000e,linux安装网卡e1000e
- 基于Struts2的供求信息网设计(三)
- 如何使用IMPORT关键字读取ABAP cluster表里的数据到ABAP内表
- JavaBean的get、set方法生成器
- 转:巧用搜狗输入法输入英文单词
- testlink自带java api_java如何连接testlink
- 【POJ - 1456】Supermarket (贪心,优先队列 或并查集)
- 兰空图床Lsky Pro 免费开源图床网站程序v1.6.3
- 嵌入式 IOT 汽车 航空 AI 领域从IP到片上系统SOC信息检索网站 DR
- 一种基于折射反向学习机制与自适应控制因子的改进樽海鞘群算法
- word打出计算机图形符号,word显示所有格式标记
- 什么是传统企业电商洪水围城下的诺亚方舟
- 80后:结婚太难 ZZ
- 洋酒销售系统的设计与实现(附源码+资料+论文+截图+数据库)
- MiniGUI源码分析——GDI概览及Surface
- 万维网、因特网和互联网的区别
- etcd入门系列三:身份验证访问控制
- Leetcode.1718 构建字典序最大的可行序列
- Android MVP模式介绍和讲解
- 基于Pytorch的强化学习(DQN)之Q-learning
热门文章
- python内存的回收机制_简单介绍python的垃圾回收机制
- Pytorch(一) --线性模型
- 线段 LibreOJ - 10007(贪心)
- Special Permutation CodeForces - 1352G(构造)
- 02.Python基础_标准数据类型_数值型_字符串
- 虚拟服务器 cms安装,轻量化云服务器怎么安装cms
- 公众号知道我浏览他吗_公众号可以看到访客吗,公众号怎么看到访客
- byte数组存的是什么_结构体内存对齐是什么鬼?
- 深度学习(5)TensorFlow基础操作一: TensorFlow数据类型
- 逆序输出1到4位正整数