zoukankan      html  css  js  c++  java
  • 随笔——统计单词个数

    要学会使用宏定义,善于使用宏定义可以让我们的程序阅读起来更加方便,逻辑更加清晰更易于理解。

    BEGIN 表示开始统计单词
    IN_WORD表示当前循环变量下标所指位置处于某一个单词中
    OUT_WORD表示,结束上一个单词的遍历,代表可以对计数加一
    END循环结束,在本程序中未使用

    
    #include <ctype.h>
    #define BEGIN	1
    #define IN_WORD	2
    #define OUT_WORD	3
    #define EDF		4
    int main()
    {
    	// 翻译:每一个新的日子都是一个机会,让你能变成更好的人。
    	char str[] = { "Each new day is...it's a chance to be somebody better." };
    	int i = 0;
    	int num = 0;
    	int tag = BEGIN;
    	for (i = 0; str[i] != ''; ++i)
    	{
    		switch (tag)
    		{
    		case BEGIN:
    			if (isalpha(str[i]))
    			{
    				tag = IN_WORD;
    			}
    			else
    			{
    				tag = OUT_WORD;
    			}
    			break;
    		case IN_WORD:
    			if (!isalpha(str[i]))
    			{
    				tag = OUT_WORD;
    				num += 1;
    			}
    			break;
    		case OUT_WORD:
    			if (isalpha(str[i]))
    			{
    				tag = IN_WORD;
    			}
    			break;
    		}
    	}
    	if (tag == IN_WORD)
    	{
    		num += 1;
    	}
    
    	printf("word size: %d 
    ", num);
    	return 0;
    }
    
    

    输出:word size: 12

  • 相关阅读:
    Linq to OBJECT延时标准查询操作符
    LINQ to XML
    动态Linq(结合反射)
    HDU 1242 dFS 找目标最短路
    HDu1241 DFS搜索
    hdu 1224 最长路
    BOJ 2773 第K个与m互质的数
    ZOJ 2562 反素数
    2016 ccpc 杭州赛区的总结
    bfs UESTC 381 Knight and Rook
  • 原文地址:https://www.cnblogs.com/TaoR320/p/12680119.html
Copyright © 2011-2022 走看看