习题3-3数数字(Digitcounting,UVa1225)
#include <stdio.h>
#include <string.h>
#include <math.h>
#define maxn 1000000
char buffer[maxn];
const char*a="0123456789";
char dd[maxn];
int b[maxn];
int main()
{
int n=0;
scanf("%d",&n);
while(n--)
{ memset(dd,'\0',sizeof(dd));
memset(b,0,sizeof(b));
int t=0;
scanf("%d",&t);
for(int i=1;i<=t;i++)
{
sprintf(buffer,"%d",i);
strcat(dd,buffer);
}
for(int i=0;i<strlen(dd);i++)
{
for(int k=0;k<strlen(a);k++)
{
if(dd[i]==a[k]) {b[k]++;}
}
}
int first=1;
for(int l=0;l<10;l++)
{
if(first) {printf("%d",b[l]);first=0;}
else
{printf(" %d",b[l]);}
}
printf("\n");
}
return 0;
}