黑马程序员技术交流社区

标题: 想输出字符串中的单词个数,为什么结果总是1,不知道思... [打印本页]

作者: cy-fish    时间: 2015-5-1 21:20
标题: 想输出字符串中的单词个数,为什么结果总是1,不知道思...
本帖最后由 cy-fish 于 2015-5-3 16:07 编辑

  1. #include <stdio.h>
  2. int main()
  3. {

  4.         int wordNum = 1;                //定义单词数
  5.         char str[100];                        //定义字符串
  6.         char cblank;                      //空格
  7.         printf("请输入字符串\n");        
  8.         scanf("%s",&str);

  9.         if(str[0] == '\0')                //判断第一个字符是不是结束符
  10.         {
  11.                 printf("输入的字符串为空\n");
  12.         }
  13.         else if(str[0] == ' ')        //判断空格
  14.         {
  15.                 printf("第一个字符为空格\n");
  16.         }
  17.         else

  18.         {
  19.                
  20.                 for(int i=0;str[i]!='\0';i++)        //遍历字符串
  21.                 {
  22.                         cblank = str[i];

  23.                         if(cblank == ' ')                //遇到空格时,单词数加1
  24.                         {
  25.                                 wordNum++;
  26.                                 
  27.                         }
  28.         
  29.                 }
  30.                 printf("有%d个单词\n", wordNum);
  31.         }



  32.         return 0;
  33. }
复制代码

作者: ios专用    时间: 2015-5-1 22:06
楼主不是计算单词数吗? 为啥判断为空++呢
作者: cy-fish    时间: 2015-5-3 16:08
ios专用 发表于 2015-5-1 22:06
楼主不是计算单词数吗? 为啥判断为空++呢

不是每个单词之间会用空格隔开吗,检测到一个空格单词数就++
作者: 冰儿    时间: 2015-5-3 16:09
这题是不基础测试题
作者: ios专用    时间: 2015-5-3 22:03
cy-fish 发表于 2015-5-3 16:08
不是每个单词之间会用空格隔开吗,检测到一个空格单词数就++

你这是计算的空格数,如果一个单词后面好多空格呢?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2