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;
}