我正在进行在线挑战,挑战如下: “ children 正在玩一个叫做“数数”的游戏。对于给定的数字 S 和 K,他们首先写下这些数字之间的所有数字,然后计算每个数字出现的次数(0,1,2,3,4,5,6 ,7,8,9). 比如S=767, K=772, 数字就是: 767,768,769,770,771,772
因此,0 将显示一次(在 770 年),1 将显示一次(在 771 年)等等。
基本上,我的程序必须执行以下操作(给出示例):
输入: 1 9 (这些是数字 1,2,3,4,5,6,7,8,9)
输出: 0 1 1 1 1 1 1 1 1 1 (0 不显示,其他数字显示一次)。”
我被困在这段代码上……没有想法。
#include <iostream>
using namespace std;
int main()
{
int s,k;
int array[10];
int c0=0,c1=0,c2=0,c3=0,c4=0,c5=0,c6=0,c7=0,c8=0,c9=0;
cin >> s >> k;
int saves = s;
int savek = k;
cout << s%10;
for(int i=s;i<=k;i++)
{
int savei=i;
while(savei!=0)
{
savei=savei%10;
}
}
欢迎任何伪代码/片段/代码/提示。
最佳答案
纯数值问题的纯数值解:
#include <iostream>
int main()
{
int s, k, i, tmp;
std::cin >> s >> k;
int count[10] = { 0 };
for (i = s; i <= k; i++) {
tmp = i;
do {
count[tmp % 10]++;
tmp /= 10;
} while(tmp);
}
for (i = 0; i < 10; i++) {
std::cout << i << " appears " << count[i] << " times" << std::endl;
}
return 0;
}
关于c++ - 查找数字数组中出现的特定数字的数量 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15173354/