下面这个c语言编程谁会吖!?

【验证型】有一个M×N的int型二维数组A,元素的值是从[0, 9]范围内任意取值的。请完成下述函数:
求数组A中各元素取值的统计分布图(即直方图,每个元素值出现的次数)。
函数原型:void hist(int destHist[10], int Mat[M][N], int m, int n);
其中destHist接收该函数定义的int型一维数组的形式参数名称,该数组含有10个元素,而且所有元素均已被初始化为0。


#include <stdio.h>
#include <stdlib.h>
#include "math.h"


/*
【验证型】有一个M×N的int型二维数组A,元素的值是从[0, 9]范围内任意取值的。请完成下述函数:
求数组A中各元素取值的统计分布图(即直方图,每个元素值出现的次数)。

函数原型:void hist(int destHist[10], int Mat[M][N], int m, int n);
其中destHist接收该函数定义的int型一维数组的形式参数名称,该数组含有10个元素,而且所有元素均已被初始化为0。

*/
void hist(int destHist[10],int Mat[10][10],int m,int n);

int main()
{
   //int M,N;
   int destHist[10],Mat[10][10];
   for(int i=0;i<10;i++){
    destHist[i]=0;
    for(int j=0;j<10;j++)
    {
       Mat[i][j]=0;
    }

   }


   hist(destHist,Mat,10,10);

  return 0;
}
void hist(int destHist[10], int Mat[10][10], int m, int n)
{
    int i=0;
    //  destHist[10]统计0~9出现的次数,即destHist[0]保存0出现的次数,destHist[1] 保存1出现的次数...... destHist[9]保存9出现的次数
   for(int i=0;i<10;i++)destHist[i]=0;
    //   Mat[M][N]  10*10的数组
    for(m=0;m<10;m++)
    {
        destHist[m]=m;
        for(n=0;n<10;n++)
        {
          Mat[m][n]=destHist[m];
          printf(" %d %d\n",i,Mat[m][n]);
          i++;
        }

    }
    //printf("%d\n",Mat);
}