ET


私信TA

用户名:wbc

访问量:40417

签 名:

我又双叒叕回来看了一眼

等  级
排  名 39
经  验 7911
参赛次数 3
文章发表 68
年  龄 0
在职情况 学生
学  校 DLMU
专  业 网络工程

  自我简介:

C++兼容C,所以不要问为什么我所有的提交都是C++的.... 不AC,毋宁死,代码越短越好,思路越清奇越好hhhhhhhh

解题思路:
其实不需要开数组,一个一个字符读入并判断就好了



注意事项:
结束不是'\0',也不是'\n',而是'EOF',即文件结束




参考代码:

#include <stdio.h>

int main() {
    int word = 0, number = 0, space = 0, others = 0;
    int ch;
    while ((ch = getchar()) != EOF) {
        if ('a' <= ch && ch <= 'z' || 'A' <= ch && ch <= 'Z') {
            word++;
        } else if ('0' <= ch && ch <= '9') {
            number++;
        } else if (ch == ' ') {
            space++;
        } else {
            others++;
        }
    }
    printf("%d %d %d %d", word, number, space, others);
    return 0;
}


 

0.0分

3 人评分

  评论区

为什么不能用‘\0’;不懂??
2018-04-30 21:55:18 | |
可以把EOF 用10代替
2018-04-30 21:48:26 | |
getchar()能读入回车,然后文件输入结尾没有\0。。。我当时提交的时候想多了。。所以在此温馨提示23333333333
2017-08-10 02:38:56 | |
请问,结束用'\0'或'\n'  为什么不行啊?
2017-08-09 23:24:31 | |
  • «
  • 1
  • »