my blog->https://blog.nowcoder.net/yanhaoyang2106?page=1

题目翻译

求a到b范围内数字出现的次数

思路

首先我们可以先打好代码框架

如下

int main()
{
    int cnt=0;
    cin>>a>>b>>k;
    for(int i=a;i<=b;i++)
        cnt+=get(i);
    cout<<cnt<<endl;
    return 0;
}

让后再去实现get函数,它的作用是,统计x中k的个数。

先思考一下,还是不难的。

现在给出代码

int get(int x){//它的作用是,统计x中k的个数。
    int y=0;//统计个数的
    while(x!=0){//统计x的每位上是否是k
        if(x%10==k)
            y++;
        x/=10;
    }
    return y;
}

完整代码

#include<iostream>

using namespace std;
int a, b, k;

int get(int x) {
    int y = 0;
    while (x != 0) {
        if (x % 10 == k)
            y++;
        x /= 10;
    }
    return y;
}

int main() {
    int cnt = 0;
    cin >> a >> b >> k;
    for (int i = a; i <= b; i++)
        cnt += get(i);
    cout << cnt << endl;
    return 0;
}

写题解不易,给个赞再走呗