用c语言怎么编这个东西

连续输入0~9间的整数,直到输入-1停止,依照各个数出现的频率大小,输出各个数

int a[10] = {0};
int n = 0;
while(1) {
    scanf("%d", &n);
    if(n < 0 || n > 9) {
        printf("Invalid number %d\n", n);
        break;
    }
    a[n]++;
}
for(int i = 0; i < 10; ++i) {
    int max = 0;
    for(int j = 0; j < 10; ++j) {
        if(max < a[j]) {
            max = j;
         }
    }
    printf("%d \n", max);
    a[max] = -1;
}

差不多意思到了就行