解题思路和注意事项:


在这里我们会用到getchar()函数,简单来说,getchar()就是从键盘获取字符,直到回车为止;


代码中while里的表达式(c = getchar()) != '\n',意思是,当输入的字符不是换行符的时候,继续往下执行;


注意这里的括号不能丢,因为!=的优先级比=高,如果去掉了外面的括号就等价于 c = (getchar()!='\n');


==    检查两个操作数的值是否相等,如果相等则条件为真。    (A == B) 不为真。    

!=    检查两个操作数的值是否相等,如果不相等则条件为真。    (A != B) 为真。

>=    检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。    (A >= B) 不为真。    

<=    检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。    (A <= B) 为真。    

&&    称为逻辑与运算符。如果两个操作数都非零,则条件为真。    (A && B) 为假。    

||    称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。    (A || B) 为真。    

    



参考代码:



   

#include<stdio.h>

int main()

{

    int letter = 0,number = 0,blank = 0,others = 0,c;        //分别为字母、数字、空格、其他

    while((c = getchar()) != '\n')

    {

        if(c >= 'A' && c<='Z' || c >= 'a' && c <= 'z')    //判断是否为字母

            letter++;

        else if(c >= '0' && c <= '9')                     //判断是都为数字

            number++;

        else if(c == ' ')                                 //判断是否为空格

            blank++;

        else                                              //其他

            others++;

    }

    printf("%d %d %d %d\n",letter,number,blank,others);

    return 0;

}

   



点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论