顺时针打印矩阵

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵:

1    2    3    4

5    6    7    8

9   10  11  12

13  14  15 16

则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.


思路,我们按层打印:

分别 输出  上  右  下 左  每一条边  第个角的作标已经写出。  直接输出 就好。(做这样的题目一定要 画图)


void out(int m,int n)
{
    int c=0;
    int beginX=0;
    int beginY=0;
    while(c<=m/2)
    {
       int i=beginX;
       int j=beginY;
       for(;j<n-1-c;j++)
           printf("%d ",a[i][j]);
       
       i=beginX;
       j=n-c-1;
       
       for(;i<m-1-c;i++)
        printf("%d ",a[i][j]);
        
        i=m-1-c;
        j=n-c-1;
        
        for(;j>beginY;j--)
       printf("%d ",a[i][j]);
      
      i=m-1-c;
      j=beginY;
      
        for(;i>beginX;i--)
      printf("%d ",a[i][j]);

        c++;
        beginX=c;
        beginY=c;
    }    
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值