.通过完成函数完成以下程序代码,输入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;
}