zoukankan      html  css  js  c++  java
  • 螺旋方阵-sdut

    螺旋方阵

    Time Limit: 1000MS Memory Limit: 65536KB

    Problem Description

    n×n的螺旋方阵当n=5和n=3时分别是如下的形式

     
    请给出一个程序,对于任意的输入n(0<n<11),输出按照上面规律所获得的n×n的螺旋方阵。

    Input

    输入第一行为整数m(0<m<10),代表有m组输入;
    接下来是m行数据,每行输入一个n(0<n<11)。

    Output

    按照输入的次序,依次输出每一个n×n方阵(一个方阵的同一行数据之间以' '分隔)
    两个输出方阵之间输出一个空行。

    Example Input

    1
    4

    Example Output

    1   2   3   4
    12  13   14   5
    11  16   15   6
    10   9    8   7


    实验示例

    #include <stdio.h>
    #include <memory.h>
    int n=1;
    
    int s[13][13]={0};
    void list( int a, int b, int c, int d)
    {
        if(a>c)
        {
            return ;
        }
        int i, j;
        for(j=b;j<d;j++)
        {
            s[a][j]=n;
            n++;
        }
        for(i=a;i<c;i++)
        {
            s[i][d]=n;
            n++;
        }
        for(j=d;j>b;j--)
        {
            s[c][j]=n;
            n++;
        }
        for(j=c;j>a;j--)
        {
            s[j][b]=n;
            n++;
        }
        list( ++a, ++b, --c, --d);
    }
    
    
    int main()
    {
        int i=1, j, l, k;
        memset(s, 0, sizeof(s));
        scanf("%d",&l);
        while(l--)
        {
            scanf("%d",&k);
            list( 1, 1, k, k);
            if(k%2!=0)
            {
                s[k/2+1][k/2+1]=k*k;
            }
            for(i=1;i<=k;i++)
            {
                for(j=1;j<k;j++)
                {
                    printf("%d	",s[i][j]);
                }
                printf("%d
    ", s[i][j]);
            }
            n=1;
            if(l>=1)
            {
                printf("
    ");
            }
        }
        return 0;
    }
    
    
  • 相关阅读:
    Unity3D脚本使用:物体调用物体
    Unity3D脚本使用:游戏对象访问
    Unity3D 浏览工具
    spring的工厂方法
    spring运用的设计模式
    Jquery ajax 与 lazyload的混合使用(实现图片异步加载)
    关于线程安全的一点总结
    lazyload的使用心得
    ajax原理及应用
    $.ajax和$.load的区别
  • 原文地址:https://www.cnblogs.com/lxhax/p/6673373.html
Copyright © 2011-2022 走看看