解题思路和注意事项:


在这里我们会用到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分

2 人评分

  评论区

  • «
  • »