【C语言】之''指针作为函数参数求矩阵的相关操作''

老师平时布置的希冀系统上的作业答案,仅供参考!

【问题描述】

键盘输入一个4*3的矩阵,然后输出这个矩阵的转置。

【输出形式】

输出矩阵的转置

【样例输入】

1 2 3

2 3 4

3 4 5

1 2 3

【样例输出】

1 2 3 1

2 3 4 2

3 4 5 3

【参考答案】

#include<stdio.h>
void main()
{
 void init(int (*a)[3],int n,int m);
 void print(int (*a)[4],int n,int m);
 void trans(int (*a)[3],int n,int m,int (*p)[4]);
  int one[4][3];
  init(one,4,3);
  int trans_one[3][4];
  trans(one,4,3,trans_one);
  print(trans_one,3,4);
}

void init(int (*a)[3],int n,int m)
{
   for(int i=0;i<n;i++)
       {
           for(int j=0;j<m;j++)
           {
               scanf("%d",*(a+i)+j);
           }
       }
}
void print(int (*a)[4],int n,int m)
{
    for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                printf("%d ",*(*(a+i)+j));
            }
            printf("\n");
        }

}
void trans(int (*a)[3],int n,int m,int (*p)[4])
{
 for(int i=0;i<n;i++)
     {
         for(int j=0;j<m;j++)
         {
            *(*(p+j)+i)=*(*(a+i)+j);
         }
     }

}
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容