追逐的人生 发表于 2014-8-21 21:20:09

输入一行字符,分别统计出其中每个数字,空白符,其他字符出现的次数

输入一行字符,分别统计出其中每个数字,空白符,其他字符出现的次数。

大家帮忙看看,到底哪里错了呢?百思不得其解
#include <stdio.h>
void main()
{
    int num={0};
    int blank = 0, others = 0, x=0;
    char c;
    while((c=getchar())!=EOF)
    {
      if(c>='0'&& c<='9')
            ++num;
      else if(c==' '||c=='\t'||c=='\n')
            ++blank;
      else
            ++others;
    }
      while(x<10)
      {
      printf("数字%d有%d个\n",x,num);
      x++;
      }
      printf("空白符:%d个,其他:%d个",blank, others);      
}

calton007 发表于 2014-8-21 22:14:02

EOF是文件结束标志吧,题意是一行字符,应该以'\n'结束吧,改成'\n'

追逐的人生 发表于 2014-8-21 22:55:45

calton007 发表于 2014-8-21 22:14
EOF是文件结束标志吧,题意是一行字符,应该以'\n'结束吧,改成'\n'

{:9_232:}一语中的   惭愧

追逐的人生 发表于 2014-8-21 23:10:07

calton007 发表于 2014-8-21 22:14
EOF是文件结束标志吧,题意是一行字符,应该以'\n'结束吧,改成'\n'

不对,研究后发现我先打的原代码是正确的,'\n'也属于空白符,如果改了,就不会计换行符了。EOF要按F6或者Ctrl+z才结束,终于搞懂了{:9_217:}

追逐的人生 发表于 2014-8-21 23:11:02

多谢指点:loveliness:
页: [1]
查看完整版本: 输入一行字符,分别统计出其中每个数字,空白符,其他字符出现的次数