zoukankan      html  css  js  c++  java
  • 字母符号计算一条英文句子中单词个数

    PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘。目前又不当COO,还是得用心记代码哦!

        给定一句英文,除了字母外之,还括包格空车回和水平制表符号('\t', '\n'), 根据这三个符号来算计一句英文中所含有单词的个数。

        下面给出的这个方法是我从一个外洋网站上看到的,思路清晰而且很有逻辑性,于是决议记录下来:

        设定两个志标: IN, OUT和一个变量state,当到遇字母的时候state值为IN, 当到遇下面说的那三个字符的时候state为OUT。你可以试测任何情况,括包两个单词旁边有多个格空的情况,下面给出代码:

        

        每日一道理
    “上下五千年,龙的看火不灭;古有愚公志,而今从头越…… ”站在新世纪的门槛上,我们的追求就是让祖国灿烂的喜悦飞扬在美好的明天……
    #include<iostream>
    #include<string>
    using namespace std;
    
    unsigned int count_word(char *s) {
    	const int OUT = 0;
        const int IN  = 1;
    	int state = OUT;
    	unsigned int count = 0;
    	while (*s) {
    		if (*s == ' ' || *s == '\t' || *s == '\n')
    			state = OUT;
    		else if (OUT == state) {
    			state = IN;
    			++count;
    		}
    		s++;
    	}
    	return count;
    }
    
    int main(int argc, char *argv[]) {
    	char s[] = "this is a test\n this is    a  test";
    	cout << count_word(s) << endl;
    	cin.get();
    	return 0;
    }

    文章结束给大家分享下程序员的一些笑话语录: 姿势要丰富,经常上百度!

  • 相关阅读:
    elasticsearch如何设计索引
    LinkedList 的实现原理
    聊聊elasticsearch7.8的模板和动态映射
    elasticsearch7.8权限控制和规划
    cloudera manager server迁移
    2020年终总结
    工作两年半的一次复盘
    聊聊数据结构和算法
    AutoMapper源码解析
    [源码解析] 并行分布式框架 Celery 之 worker 启动 (2)
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3069778.html
Copyright © 2011-2022 走看看