PTA预习题——统计一行文本的单词个数

7-1 统计一行文本的单词个数 (15 分)

本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。

输入格式:

输入给出一行字符。

输出格式:

在一行中输出单词个数。

输入样例:

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预习题)的更多相关文章

  1. PTA习题6-8 统计一行文本的单词个数 (15分)

    参考<c和指针>里面运用strtok函数打印空白标记符(如\n,\t)的程序改写而成的代码 在之前我自己写了一个60行的链表版本的统计程序 相比之下这个strtok函数的程序要简洁明了的多 ...

  2. 统计一行文本的单词个数 (15 分) 本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 输入格式: 输入给出一行字符。 输出格式: 在一行中输出单词个数。 输入样例: Let's go to room 209. 输出样例: 5

    MD,一开始就想着怎么 用空格和结尾前判断字母 来计算写的头的爆了, 反过来判断空格后面是否有 =‘ ’就尼玛容易多了 #include<stdio.h> #include<stdl ...

  3. shell 统计行数,单词个数,字符个数

    如果我们想知道1.txt中有多少行,多少个单词,多少个字符.我们可以使用wc命令.选项与参数-l:今列出行-w:今列出多少字(英文单词)-m:多少字符[zhang@localhost ~]$ cat ...

  4. python练习:一行搞定-统计一句话中每个单词出现的个数

    一行搞定-统计一句话中每个单词出现的个数 >>> s'i am a boy a bood boy a bad boy' 方式一:>>> dict([(i,s.spl ...

  5. java统计文本中单词出现的个数

    package com.java_Test; import java.io.File; import java.util.HashMap; import java.util.Iterator; imp ...

  6. Python 基础 - 统计文本里单词的个数以及出现的次数

    # -*- coding:utf-8 -*- #author:V def tol (file1,gui): #写一个方法,定义文件,or 匹配规则 import re patt = re.compil ...

  7. shell统计文本中单词的出现次数

    Ubuntu14.04 给定一个文本,统计其中单词出现的次数 方法1 # solution 1 grep与awk配合使用,写成一个sh脚本 fre.sh sh fre.sh wordfretest.t ...

  8. codevs1040统计单词个数(区间+划分型dp)

    1040 统计单词个数 2001年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold   题目描述 Description 给出一个长度不超 ...

  9. 洛谷 P1026 统计单词个数 Label:dp

    题目描述 给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个).要求将此字母串分成k份(1<k<=40),且每份中包含的单 ...

随机推荐

  1. python之路——17

    王二学习python的笔记以及记录,如有雷同,那也没事,欢迎交流,wx:wyb199594 复习 1.迭代器2.生成器3.内置函数 1.学习55个 2.带key的,max min filter map ...

  2. WinSDK-键盘消息

    一 参考url http://www.cnblogs.com/5iedu/p/4656178.html http://blog.csdn.net/yiyefangzhou24/article/deta ...

  3. mvc部分视图转换成html字符串

    public static class RenderViewTostring { /// <summary> ///将部分视图转成html 字符串方便我们扩展使用 /// </sum ...

  4. 实现A-Z滑动检索菜单

    我们实现一个A-Z滑动检索菜单,这是一个移动端非常常见的功能,页面效果图如下 在实现代码之前我们先了解下JS滚动事件和滑动事件 scrollTop 一个元素的scrollTop是这个元素的顶部 到 可 ...

  5. 关于ueditor插入不了动态地图

    1. 打开编辑器根目录下面的ueditor.all.js文件,找到: table.setAttribute("data-sort", cmd == "enablesort ...

  6. Jquery取小数后边2位,N位;jQuery去掉字符串首尾空字符串

    function fix(num, N) { , N); return Math.round(num * base) / base; } 实例,取小数后边两位 var yhmoney2 = fix(1 ...

  7. python 给定数组任意组合等于一个定值的所有解

    抛出问题: 求给定数组任意组合等于一个定值的所有解 例如列表l = [1, 2, 3, 4, 5],求任意组合的结果为10的所有答案 问题分析: 实际就是列表的所有排列组合,然后算出每个排列组合的值, ...

  8. Android 开发 View的API 转载

    转载地址:https://blog.csdn.net/lemonrabbit1987/article/details/47704679 View类代表用户界面组件的基本构建块.一个View占据屏幕上的 ...

  9. python标签值标准化到[0-(#class-1)]

    python 处理标签常常需要将一组标签映射到一组数字,数字还要求连续. 比如 ['a', 'b', 'c', 'a', 'a', 'b', 'c'] ==(a->0, b->1, c-& ...

  10. iOS字符串自动计算文本的宽和高

    根据字符串如何自动计算出这些字符所占的宽和高: 首先,需要知道要显示的字体的样式,因为不同大小的字体所占据的空间大小不一样. 其次,要设置限制范围,例如一串字符可以显示成一行(较宽),也可以显示成多行 ...