搜索

首页  >  问答  >  正文

c++ - 在一个数字和英文混杂的句子里,统计英文单词数,我的代码错在哪?

大家讲道理大家讲道理2806 天前557

全部回复(5)我来回复

  • 大家讲道理

    大家讲道理2017-04-17 13:14:33

    这几个while是什么鬼,不应该是if吗?

    回复
    0
  • 高洛峰

    高洛峰2017-04-17 13:14:33

    小伙子你这段代码的bug很多啊,如果连续两个空格就会出现多记,如果没有句号,你就会漏记一个单词,上码

    include <stdio.h>

    int main()
    {

    char s[80] = {0};
    char *p;
    int num = 0;
    unsigned char flag = 0;
    gets(s);
    p = s; 
    while(*p++)
    {
        if(( *p >= 'a' && *p <= 'z')||( *p >= 'A' && *p <= 'Z') )
        {
                flag = 1;
        }
        else if (flag == 1)
        {
            flag = 0;
            num++;
        }
    
    }
    printf("there are %d words\n",num);

    }

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-17 13:14:33

    你打 f1是什么鬼?输出的不该是num么

    回复
    0
  • 迷茫

    迷茫2017-04-17 13:14:33

    为嘛不用正则表达式??

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-17 13:14:33

    良好的注释
    你这是统计字母还是单词?

    回复
    0
  • 取消回复