习题3-3 数数字(Digit Counting , ACM/ICPC Danang 2007, UVa1225)
把前n(n≤10000)个整数顺次写在一起:123456789101112...数一数0~9各出现多少次 (输出10个整数,分别是0,1,...,9出现的次数)。
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define MAXN 85
int main(){
int T=0,a[11];
scanf("%d",&T);
while(T--){
memset(a,0,sizeof(a));
int n,t;
scanf("%d",&n);
for(int i = 1;i <= n;i++){
int num = i;
while(num){
a[num%10]++;
num /= 10;
}
}
for (int j=0;j<9;j++){
printf("%d ",a[j]);
}
printf("%d\n",a[9]);
}
return 0;
}
网友评论