• 【ACM小白成长撸】--计算单词个数


    我判断单词个数的方法,根据空格‘ ’的个数

    分情况

    • 当没有单词的时候

            判断第一个符号,即a[0] == ‘’时,赋值给存储个数的数组

    • 当遇到空格时,只有前面一个字符不是空格字符,后面一个字符不是空格字符,才能判断一个word

    注意事项

    • 当输入组数时,最后回车输入缓冲区里面,gets会得到一个回车符号,所以为了消除缓冲区的回车,需要利用fflush函数
    • 当遇到最后一个‘’时,要在已有的words数目上加一,比如,"i love you",这儿有2个空格,不加一的话,words数目就2个,显然不符合要求。  
     1 /*程序的版权和版本声明部分:
     2 *Copyright(c) 2016,电子科技大学本科生
     3 *All rights reserved.
     4 *文件名:ACM_UESTC_OJ60
     5 *程序作用:统计单词个数
     6 *作者:Amoshen
     7 *完成日期:2016.9.26
     8 *版本号:V1.0
     9 */
    10 
    11 #include <stdio.h>
    12 #include <stdlib.h>
    13 
    14 int main(void)
    15 {
    16     int i,m;
    17     int j;//j为计数器
    18     char *p;
    19     char b[100];
    20     int a[9999];
    21 
    22     scanf("%d",&i);
    23     fflush(stdin);//清除缓冲区,避免到后面直接跳过gets
    24 
    25     for(m = 0;m < i;m++)
    26     {
    27         gets(b);
    28 
    29         if(b[0] == '')//当不输入任何单词时,最后有回车符号,排除此情况,gets不能读换行符,遇到''结束输入
    30         {
    31             a[m] = 0;
    32             continue;
    33         }
    34         else
    35         {
    36             if(b[1] == '')
    37             {
    38                 a[m] = 1;
    39                 free(p);
    40                 continue;
    41             }
    42         }
    43 
    44         p = b;
    45 
    46         for(j = 0;;p++)
    47         {
    48             if((*p == ' ')&& (*(p - 1) != ' ')&&(*(p + 1) != ' '))
    49             {
    50                 j = j + 1;
    51             }
    52             if(*p == ''&& j != 0)
    53             {
    54                 j = j + 1;
    55                 a[m] = j;
    56                 break;
    57             }
    58         }
    59     }
    60 
    61     for(m = 0;m < i;m++)
    62     {
    63         printf("%d
    ",a[m]);
    64     }
    65 
    66     return (0);
    67 }
  • 相关阅读:
    蛙蛙请教:问几个面向对象设计的问题
    推荐一些flash和asp.net结合开发的文章
    写一个跟踪的类库
    蛙蛙推荐:有关随机数的一些讨论
    蛙蛙推荐:用ASP.NET WEB Services和Flash MX 2004打造MP3播放器
    HiveQL学习
    Linux rpm 命令参数使用详解[介绍和应用]
    java.util.concurrent.locks.Condition 例子程序探讨
    [转]sudoers设置
    配置linux电脑
  • 原文地址:https://www.cnblogs.com/zpc-uestc/p/5914893.html
Copyright © 2020-2023  润新知