1 条题解

  • 0
    @ 2025-8-24 21:07:22

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Cartesian__Tree
    May miracles happen, my friend.

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

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

    以下是正文


    题目要求求出字符串里的数字字符个数,可以根据字符的 ASCII 码来判定。

    if (s[i] <= '9' && s[i] >= '0')
        cnt++;
    

    这里我使用了 C++ 独有的 string 类型的字符串。

    在读入时需要注意,如果你写成这样:

    cin >> s;

    那么你就只能获得 50 分,因为字符串中有空格,需要整行读入。

    AC Code:

    #include <bits/stdc++.h>
    using namespace std;
    int main(){
        string s;
        getline(cin, s);//要用 getline
        int cnt = 0;
        for (int i = 0; i <= s.length() - 1; i++){//注意范围
            if (s[i] <= '9' && s[i] >= '0')//判断
                cnt++;
        }
        cout << cnt << endl;
        return 0;
    }
    
    • 1

    信息

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