1. 程式人生 > >習題3-3 數數字(Digit counting)

習題3-3 數數字(Digit counting)

#include <iostream>
#include <stdio.h>
#include <string.h>
#define maxn 1000000
using namespace std;

int main() {
    int a[10010];
    int b[10];
    int i,t,n,j,k;
    while(scanf("%d",&t)!=EOF) {
        for(j=1; j<=t; j++) {
                scanf("%d",&n);
        memset(b,0,sizeof(b));
        for(i=0;i<n;i++)
        {
            a[i]=i+1;
            while(a[i]/10!=0)
            {
                k=a[i]%10;
                b[k]++;
                a[i]/=10;
            }
            b[a[i]]++;
        }
            for(i=0; i<9; i++)
                printf("%d ",b[i]);
            printf("%d\n",b[9]);

        }
    }

    return 0;
}
/*雖說是順序寫在一起 但在程式執行是將數字分開 用迴圈分離出 每一位數 之後通過陣列計數*/