zoukankan      html  css  js  c++  java
  • 螺旋队列问题之二

    如矩阵

        1    2    3    4    5
       16   17   18   19    6
       15   24   25   20    7
       14   23   22   21    8
       13   12   11   10    9

      找出规律,并打印出一个N*N的矩阵;规律就是从首坐标开始顺时针增大,所以

        1.需要一个变量m来递增记录进度。

        2.注意各个转折点。

    具体代码实现如下:

    #include <stdio.h>
    #define N 5
    int a[N][N]={0};
    
    void fun(int n)
    {
            int i,j;
            int m=1;
            for(i=0;i<n/2;i++)
            {
                    for(j=i;j<n-i;j++)         //上边的一行
                    {
                            a[i][j]=m++;
                    }
                    for(j=i+1;j<n-i;j++)       //右边的一列
                    {
                            a[j][n-i-1]=m++;
                    }
                    for(j=n-i-2;j>i;j--)       //下边的一行
                    {
                            a[n-i-1][j]=m++;
                    }
                    for(j=n-i-1;j>i;j--)       //左边的一列
                    {
                            a[j][i]=m++;
                    }
            }
            if(n%2==1)
                    a[n/2][n/2]=m;
    }
    
    
    int main(void)
    {
            int i,j;
            fun(N);
            for(i=0;i<N;i++)
            {
                    for(j=0;j<N;j++)
                    {
                            printf("%5d",a[i][j]);
                    }
                    printf("
    ");
            }
            return 0;
    }

    别忘记考虑到n为奇数的情况下,需要加上最后的判断

    结果如下:

    [root@master tmp]# ./2
        1    2    3    4    5    6    7
       24   25   26   27   28   29    8
       23   40   41   42   43   30    9
       22   39   48   49   44   31   10
       21   38   47   46   45   32   11
       20   37   36   35   34   33   12
       19   18   17   16   15   14   13

     程序猿必读

  • 相关阅读:
    2020重新出发,MySql基础,MySql用户管理
    2020重新出发,MySql基础,MySql字符集
    2020重新出发,MySql基础,MySql事务
    python全栈day10
    python全栈day9
    python全栈day8
    python全栈day7
    python全栈day6
    python全栈day5
    python全栈day4
  • 原文地址:https://www.cnblogs.com/longzhongren/p/4380479.html
Copyright © 2011-2022 走看看