C语言:数字出现的次数

Description
给定一个字符串,统计09每个数字出现的次数。
Input
有多组数据,每组数据由一个字符串组成。字符串最长不超过100个字符。
Output
字符串中的每个数字出现的次数,并按0
9的顺序输出其次数。输出时每个数占3位宽度。
Sample Input
28748271010848
8745sj82shf720939jfksj2784df987434fsdf

Sample Output
2 2 2 0 2 0 0 2 4 0
1 0 3 2 4 1 0 4 4 3
C语言

为什么第二行前面要空好几格呢?不是有0吗


#include "stdio.h"
#include "string.h"
void main()
{
    char str[100];
    int cnt[10]={0};
    int i;
    gets(str);
    for(i=0;i<strlen(str);i++){
        switch(str[i]){
            case '0':
                cnt[0]++;
                break;
            case '1':
                cnt[1]++;
                break;
            case '2':
                cnt[2]++;
                break;
            case '3':
                cnt[3]++;
                break;
            case '4':
                cnt[4]++;
                break;
            case '5':
                cnt[5]++;
                break;
            case '6':
                cnt[6]++;
                break;
            case '7':
                cnt[7]++;
                break;
            case '8':
                cnt[8]++;
                break;
            case '9':
                cnt[9]++;
                break;
        }            
                            
    }
    
    for(i=0;i<10;i++){
        printf("%d出现的次数是%d\n",i,cnt[i]);    
    }
    
}