写一个C代码打印频率的直方图

C语言打印频率的直方图,并解释在代码中使用的函数
运行示例如下:

img

这个样列答案输出错误的? 供参考:

#include<stdio.h>
#define  N  10
int main()
{
    int m, n , i, b[N] = {0}, a[N * N];

    printf("enter array size:");
    scanf("%d", &n);

    printf("enter numbers:\n");
    for (i = 0;i < n; i++)
        scanf("%d", &a[i]);//输入数组元素

    for (i = 0;i < n; i++)
        b[a[i]]++;  //统计数组元素出现的频次

    printf("histogram of frequency:\n");
    for (i = 0; i < n; i++){ //输出
        printf("%d %d", i, b[i]);
        for (m = 0;m < b[i]; m++)
            printf(" *");
        printf("\n");
    }
    return 0;
}