Suty


私信TA

用户名:zf1010110

访问量:3291

签 名:

等  级
排  名 10857
经  验 1002
参赛次数 0
文章发表 8
年  龄 21
在职情况 学生
学  校 ZYNC
专  业 IoT

  自我简介:

//参考代码:
#include <stdio.h>

//是否是英文字母 是返回1  不是返回0
#define IS_EN(X) (((X)>='A' && (X)<='Z') ||((X)>='a' && (X)<='z'))
//是否是数字
#define IS_NUM(X) ((X)>='0' &&(X)<='9')
//是否是空格
#define IS_BLANK(X) ((X)==' ')


//因为scanf不会接受回车和空格(除非格式里面有空格),所以用getchar或者gets来做会更方便些
//while( (ch = getchar()) != '\n')
int main()
{
    char ch;
    //   英文         数字          空格          其他字符
    int cnt_en = 0, cnt_num = 0, cnt_blank = 0, cnt_oth = 0;
    //一个字符一个字符的接收  遇到回车结束
    while((ch = getchar()) != '\n')//getchar 收到一个字符赋值给ch  不是换行就进入循环体
    {
        if(IS_EN(ch))
            cnt_en++;
        else if(IS_NUM(ch))
            cnt_num++;
        else if(IS_BLANK(ch))
            cnt_blank++;
        else
            cnt_oth++;
    }
    //注意输出顺序
    printf("%d %d %d %d\n",cnt_en,cnt_num,cnt_blank,cnt_oth);
    return 0;
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区