顺/逆时针输出二维数组/矩阵 C语言

最简单的想法(从每个打印的点看起)

关于这个问题,不管是顺时针还是逆时针,我们都可以把他看作四个动作(函数),向右,向下,向左,向上。初次之外,我们还要知道,每次做动作的起点以及打印的个数(界限),由此就可以想象出整个函数的结构。

int stx=0,sty=0;//起点X坐标,起点Y坐标,
int maxux=col-1,maxuy=row-1;//最大未打印X坐标(列,有效下标) ,最大未打印Y坐标(行,有效下标)
minux=0,minuy=0;//最小未打印X坐标 ,最小未打印Y坐标
void Move_Right(int (*arr)[4],int maxux,int* minuy,int *stx,int sty);
void Move_Down(int (*arr)[4],int* maxux,int maxuy,int stx,int *sty);
void Move_Left(int (*arr)[4],int minux,int* maxuy,int *stx,int sty);
void Move_Up(int (*arr)[4],int* minux,int minuy,int stx,int *sty);
/*关于函数的参数,第一个是需要打印的二维数组,第二个是列的边界,第三个是行的边界,第四第五是打印
    起始的坐标,其中带*的是需要在函数执行完修改的值*/

这四个函数的基本思路是一样的,我们就其中一个函数来详细讲解

void Move_Right(int (*arr)[
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值