Description
一本书的页码从自然数1 开始顺序编码直到自然数n。书的页码按照通常的习惯编排,
每个页码都不含多余的前导数字0。例如,第6 页用数字6 表示,而不是06 或006 等。数
字计数问题要求对给定书的总页码n,计算出书的全部页码中分别用到多少次数字0,1,
2,…,9。
Input
给出表示书的总页码的整数n(1≤n≤2^31-1)
Output
输出10行,在第k行输出页码中用到数字k-1 的次数,k=1,2,…,10。
Sample Input
11
Sample Output
1 4 1 1 1 1 1 1 1 1
Source
#include<stdio.h>
#include<ctype.h>
long arr[10]={0};
void main()
{
long n,i;
void fun(long);
scanf("%ld",&n);
for(i=1;i<=n;i++){
fun(i);
}
for(i=0;i<10;i++)
printf("%d\n",arr[i]);
}
void fun(long k)
{
long b;
while(k){
b=k%10;
k=k/10;
switch(b){
case 0: arr[0]++;break;
case 1: arr[1]++;break;
case 2: arr[2]++;break;
case 3: arr[3]++;break;
case 4: arr[4]++;break;
case 5: arr[5]++;break;
case 6: arr[6]++;break;
case 7: arr[7]++;break;
case 8: arr[8]++;break;
case 9: arr[9]++;break;
}
}
}