通过完成函数完成以下程序代码,输入m、n(m,n<10),再输入一个m*n的整型数据构成的矩阵,输出该矩阵。

.通过完成函数完成以下程序代码,输入m、n(m,n<10),再输入一个m*n的整型数据构成的矩阵,输出该矩阵。
3 4
1 0 3 4
2 0 7 5
4 0 6 8
1 0 3 4
2 0 7 5
4 0 6 8
【注意】:以下程序代码只允许添加不允许修改。*/
#include <stdio.h>
#define M 100
void read(int *a,int m,int n){

}
void write(int *a, int m, int n){

}
int main(){
int a[M][M], m,n;
scanf("%d%d", &m,&n);
read(&a[0][0],m,n);
write(&a[0][0],m,n);
return 0;
}

一个实现,供参考:

#include <stdio.h>
#define M 100
void read(int *a,int m,int n){
    
    int i,j;
    for(i=0;i<m;i++){
        for(j=0;j<n;j++){
            scanf("%d", (a+i*m+j) ); // i代表数组第几行,m代表第几列,此是用一维数组指针的方式来填充二维数组元素的值 
        }
    } 
}
void write(int *a, int m, int n){
    
    int i,j;
    for(i=0;i<m;i++){
        for(j=0;j<n;j++){
            printf("%d ",*(a+i*m+j));//同上, i代表数组第几行,m代表第几列,此是用一维数组指针的方式来访问二维数组元素的值  
        }
        printf("\n");
    } 
}
int main(){
    int a[M][M], m,n;
    scanf("%d%d", &m,&n);
    read(&a[0][0],m,n);
    write(&a[0][0],m,n);
    return 0;
}