从键盘上输入一个正整数n和m(范围是0到9),输出从1到n这n个整数中m出现的次数。 例如输入n为12,m为1,从1到12这些整数中包含1的数字有1,10,11和12,1一共出现了5次。
[解决方法]
#include<stdio.h>
int main()
{
int n,m;
int a[10]={0};
scanf("%d",&n);
scanf(",");
scanf("%d",&m);
for(int i=n;i>0;i--) //将所有小于n的数都检测一遍
{
fun(i,a);
while(i)
{
a[i%10]++; //每次将数的最低位给分离出来,如i=231,则这一步表示为a[1]=a[1]+1
i/=10; //将数的最低位给清除,如i=231,这里的操作为i=23
}
}
printf("%d ",a[m]);
return 0;
}