WooKinson

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

示例代码:

#include <stdio.h>
#define N 200

int main(void)
{
  int num[N][N];
  int i= 0, j = 0 , k = 0 , sum = 0;
  int m = 0 , n = 0 ;
  scanf("%d %d",&m,&n);
  for (i = 0 ; i < m ; i ++)
  {
    for (j = 0 ; j < n ; j ++)
    {
      scanf("%d",&num[i][j]);
    }
  }

  i = j = 0;
  sum = m*n;
  while(sum > 0)
  {
    /*下移*/
    for (k = 0 ; k < m && sum > 0 ; k ++,i ++,sum --)
    {
      printf("%d ",num[i][j]);
    }
    /*右移*/
    for (i -- , j ++ , k = 0 ; k < n-1 && sum > 0; j ++,k ++,sum --)
    {
      printf("%d ",num[i][j]);
    }
    /*上移*/
    for (j -- , i -- , k = 0 ; k < m-1 && sum > 0; i --,k ++,sum --)
    {
      printf("%d ",num[i][j]);
    }
    /*左移*/
    for (i ++ , j -- , k = 0 ; k < n-2 && sum > 0; j --,k ++,sum --)
    {
      printf("%d ",num[i][j]);
    }
    i ++ , j ++;
    m -= 2;
    n -= 2;
  }

  return 0;
}

posted on 2018-01-24 20:37  WooKinson  阅读(237)  评论(0编辑  收藏  举报