啊天天天 2022-04-23 21:48 采纳率: 0%
浏览 66

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

  • 写回答

1条回答 默认 最新

  • a5156520 2022-04-24 09:40
    关注

    一个实现,供参考:

    #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;
    }
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月23日