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;
    }

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

  • 相关阅读:
    第21,22章:出现次数超过一半的数字,最短摘要的生成
    String的方法
    最长公共子串
    第29章:字符串编辑距离
    字符串转换为整数
    第11章:最长公共子序列(LCS:Longest Common Subsequence)
    django开发_七牛云CNAME解析
    django开发_七牛云图片管理
    FastDFS分布式文件系统
    requests获取响应时间(elapsed)与超时(timeout)、小数四舍五入
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3069778.html
Copyright © 2011-2022 走看看