打印螺旋矩阵

题目要求

     将螺旋方阵存放到N×N的二维数组中并把它打印输出。
     要求程序自动生成下图所示螺旋方阵。
     用 #define定义常量N。
     要求对N进行更改也能达到 相同的效果。
     1   16  15  14  13
     2   17  24  23  12
     3   18  25  22  11
     4   19  20  21  10
     5   6   7   8   9

打印矩阵

 1  4
 2  3
/*********打印螺旋矩阵**********/
#define N 2
void demo5(void){
  int a[N][N]={0};
  int i,j;
  int num=1;
      for(i=0;i0;i--){
          a[i][N-1]=num++;
     }
      for(j=N-1;j>0;j--){
          a[0][j]=num++;
     }
  //打印显示螺旋矩阵
  for(i=0;i

打印矩阵

1  8  7
2  9  6
3  4  5 
/*********打印螺旋矩阵**********/
#define N 3
void demo5(void){
  int a[N][N]={0};
  int i,j;
  int num=1;
      for(i=0;i0;i--){
          a[i][N-1]=num++;
     }
      for(j=N-1;j>0;j--){
          a[0][j]=num++;
     }
      //判断N是否为奇数
          if(1==N%2){
             a[N/2][N/2]=num;
          }
  //打印显示螺旋矩阵
  for(i=0;i

打印题目要求的矩阵(当N=6时)

/*********打印螺旋矩阵**********/
#define N 6
void demo5(void){
  int a[N][N]={0};
  int i;//行数
  int j;//列数
  int k;//层数
  int num=1;
for(k=0;kk;i--){
        a[i][N-k-1]=num++;
   }
    for(j=N-k-1;j>k;j--){
        a[k][j]=num++;
   }
}
//判断N是否为基数
    if(1==N%2){
       a[N/2][N/2]=num;
    }
  //打印显示螺旋矩阵
  for(i=0;i
打印螺旋矩阵_第1张图片
运行结果.jpg

你可能感兴趣的:(打印螺旋矩阵)