思路:
遍历每一个数,同时每一个数都遍历每一位,遍历每一位的方法是不断地整除10,直到整除为0。
#include <stdio.h>
int digitCounts(int k, int n)
{
int sum=0;
for(int i=0;i<=n;i++)
{
int num=i;
while(num/10!=0)
{
if(num%10==k)
{
sum++;
}
num=num/10;
}
if(num==k)
sum++;
}
return sum;
}
void main()
{
int k,n;
printf("计算数字k在0到n中的出现的次数,k可能是0~9的一个值:");
scanf("%d %d",&k,&n);
printf("数字k在0到n中的出现的次数为%d次!\n",digitCounts(k,n));
}