题目--统计一行文本的单词个数(PTA预习题)
PTA预习题——统计一行文本的单词个数
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
- Let's go to room 209.
输出样例:
这道题一开始觉得没什么,后面没看题目条件被坑了下,不过我发现了非常有意思的东西,仔细一看这道题不就是基本DFS的一道裸题嘛..用DFS可以很快很方便的写出来..关于DFS我之前有篇博客已经简单解释过一次了,这道题也可以,基本思路就是每次检验到一个非空格,就进行一次DFS,比如“Let's go to room 209.”,一开始肯定检测到的是L嘛,然后进行一次DFS(每进行一次DFS记录单词数的变量就加1,在自定义函数中将“Let's”全部变成了空格(检测到这个单词后面的第一个空格前的"s"字母为止),然后返回,同理之后检测到了“g”,然后DFS将"go"变成空格,最后进行多少次DFS就是多少个单词呗(通俗点就这样讲了)。
AC代码:
- #include<bits/stdc++.h>
- using namespace std;
- string s;
- void dfs(int xb,int len)
- {
- for(int i = xb; i < len ; i++)
- if(s[i]!=' ')s[i]=' ';//将一个单词全部“同化为空格”
- else return;
- }
- int main ( int argc ,const char * argv[])
- {
- int count=;
- getline(cin,s);
- int len = s.length();
- for(int i = ; i < len ; i++)
- if(s[i]!=' '){ //检测到第一个非空格,进行DFS
- dfs(i,len);
- count++;
- }
- cout<<count<<endl;
- return ;
- }
这里可能大家没看过的代码就getline了,getline的详细用法可以自行谷歌百度,简单来讲就是接受一行数据,包括空格.
感想:之前才学了下DFS这里就用上了还是很惊讶的2333,希望后面能更加灵活运用所学知识
最后这是DFS简单介绍及题目的博客地址:https://www.cnblogs.com/xiangqi/p/10485211.html
题目--统计一行文本的单词个数(PTA预习题)的更多相关文章
- PTA习题6-8 统计一行文本的单词个数 (15分)
参考<c和指针>里面运用strtok函数打印空白标记符(如\n,\t)的程序改写而成的代码 在之前我自己写了一个60行的链表版本的统计程序 相比之下这个strtok函数的程序要简洁明了的多 ...
- 统计一行文本的单词个数 (15 分) 本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 输入格式: 输入给出一行字符。 输出格式: 在一行中输出单词个数。 输入样例: Let's go to room 209. 输出样例: 5
MD,一开始就想着怎么 用空格和结尾前判断字母 来计算写的头的爆了, 反过来判断空格后面是否有 =‘ ’就尼玛容易多了 #include<stdio.h> #include<stdl ...
- shell 统计行数,单词个数,字符个数
如果我们想知道1.txt中有多少行,多少个单词,多少个字符.我们可以使用wc命令.选项与参数-l:今列出行-w:今列出多少字(英文单词)-m:多少字符[zhang@localhost ~]$ cat ...
- python练习:一行搞定-统计一句话中每个单词出现的个数
一行搞定-统计一句话中每个单词出现的个数 >>> s'i am a boy a bood boy a bad boy' 方式一:>>> dict([(i,s.spl ...
- java统计文本中单词出现的个数
package com.java_Test; import java.io.File; import java.util.HashMap; import java.util.Iterator; imp ...
- Python 基础 - 统计文本里单词的个数以及出现的次数
# -*- coding:utf-8 -*- #author:V def tol (file1,gui): #写一个方法,定义文件,or 匹配规则 import re patt = re.compil ...
- shell统计文本中单词的出现次数
Ubuntu14.04 给定一个文本,统计其中单词出现的次数 方法1 # solution 1 grep与awk配合使用,写成一个sh脚本 fre.sh sh fre.sh wordfretest.t ...
- codevs1040统计单词个数(区间+划分型dp)
1040 统计单词个数 2001年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 给出一个长度不超 ...
- 洛谷 P1026 统计单词个数 Label:dp
题目描述 给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个).要求将此字母串分成k份(1<k<=40),且每份中包含的单 ...
随机推荐
- [VS]反编译_DllToC#_REFLECTOR8.5
反编译_DllToC#_REFLECTOR8.5 的使用方法可以问度娘 下载地址:百度网盘TonyHeVIP
- spark-rpc是如何实现将netty的Channel隐藏在inbox中的
class TransportServer bootstrap.childHandler(new ChannelInitializer<SocketChannel>() { @Overri ...
- vue分页效果
js部分 <script src="....js/vue.js"></script> <script src="..../js/vue-re ...
- sql语句case when 以及left()
select count(CASE jyje WHEN '1300' THEN '2' ELSE '1' END) as count from tpent_orders where cplx = 6 ...
- C语言列出真分数序列代码及解析
问题描述 按递增顺序依次列出所有分母为60,分子小于60的最简分数. 问题分析 分子.分母只有公因数1的分数叫做最简分数或者说分子和分母是互质数的分数,叫做最简分数,又称既约分数,如2/3,8/9,3 ...
- wechat-plus 使用node开发微信公众号
github:https://github.com/liuyinglong/node-wechatnpm:https://www.npmjs.com/package/wechat-plus insta ...
- Delphi Exif
这久要用到读取JPG 的 Exif 信息,先是在盒子里下了个Demo,但是那个太老了,是2003年的,后来下载了个CCR 1.5.1是可以使用了,但是我个人用的是Delphi 2007,似乎CCR 1 ...
- 基础Gan代码解析
initializer总结: #f.constant_initializer(value) 将变量初始化为给定的常量,初始化一切所提供的值. #tf.random_normal_initializer ...
- python字符串的方法
python字符串的方法 ############7个基本方法############ 1:join def join(self, ab=None, pq=None, rs=None): # real ...
- php laravel+nginx 除了根目录都报404 解决
在nginx的配置文件加 location / { try_files $uri $uri/ /index.php?$query_string; } 即可!!!!!!!