1 条题解

  • 0
    @ 2025-8-24 21:02:43

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar 囧仙
    你做东方鬼畜音MAD,好吗?

    搬运于2025-08-24 21:02:42,当前版本为作者最后更新于2021-07-03 14:06:20,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题解

    使用强制类型转换。在 C++ 当中,你可以使用 (char)XXX 来将 XXX 转换为对应的 ASCII\verb!ASCII! 码。因此,本题的代码其实非常简单。

    但是本着敬业的精神,我们普及一下 C++ 当中对于 ASCII\verb!ASCII! 码的分类,相信这部分内容会对你有一定的帮助。

    • isdigit()\verb!isdigit()! : 返回一个字符是否是数字。

    • isalnum()\verb!isalnum()! : 返回一个字符是否是数字或者字母(不区分大小写)。其实, alnum 就是 alphanumber 拼接而成的。

    • isalpha()\verb!isalpha()! : 返回一个字符是否是字母(不区分大小写)。

    • isgraph()\verb!isgraph()! : 返回一个字符是否是可视字符(眼睛可以看得到的),也就是 ASCII\verb!ASCII! 表上从 3333 到最后所有的字符。

    • isblank()\verb!isblank()! : 返回一个字符是否是空白字符。这个就比较简单,当且仅当字符是空格时返回 11 ,否则是 00

    • iscntrl()\verb!iscntrl()! : 返回一个字符是否是控制字符。控制字符,就是除了可视字符和空格以外的所有 ASCII\verb!ASCII! 字符。

    • islower()\verb!islower()! : 返回一个字符是否是小写字母。

    • isupper()\verb!isupper()! : 返回一个字符是否是大写字母。

    • isspace()\verb!isspace()! : 返回一个字符是否是空白。空白包括三个:空格、换行(包括 \r\n )。

    • isprint()\verb!isprint()! : 返回一个字符是否是可被打印的。可被打印的字符包括空格与所有可是字符(与 iscntrl()\verb!iscntrl()! 完全相反)。

    • ispunct()\verb!ispunct()! : 返回一个字符是否是标点字符,这包括非字母数字的任意图形字符。

    参考代码

    #include<bits/stdc++.h>
    #define up(l,r,i) for(int i=l,END##i=r;i<=END##i;++i)
    #define dn(r,l,i) for(int i=r,END##i=l;i>=END##i;--i)
    using namespace std;
    typedef long long i64;
    int main(){
        int c; cin>>c; cout<<(char)c<<endl;
        return 0;
    }
    
    • 1

    信息

    ID
    6875
    时间
    1000ms
    内存
    128MiB
    难度
    1
    标签
    递交数
    6
    已通过
    4
    上传者