C语言.螺旋方阵

题目描述

本题要求从右下角开始按螺旋型递减打印数字方阵。

输入格式

输入为一个正整数n (1=

输出格式

螺旋型递减顺序输出n行n列的数字方阵,每个数字占4个宽度,左对齐。

输入样例

在这里给出一组输入。例如:

4

输出样例

在这里给出相应的输出。例如:

10 9 8 7   

11 2 1 6   

12 3 4 5   

13 14 15 16

参考答案如下:

C语言.螺旋方阵_第1张图片

 #include
int main()
{
    int i,j,N,n,num=1;// i主上下 j主左右 n限制每行或每列输出次数
    int a[20][20];
    scanf("%d",&N);
    num=N*N;
    for(n=0;n<=N/2;n++)
    {
        for(j=N-n-1;j>n;j--)//从最右下角开始,从右到左1
        {
            a[N-n-1][j]=num--;
        }
        for(i=N-n-1;i>n;i--)//从下到上2
        {
            a[i][n]=num--;
        }
        for(j=n;j<=N-n-1;j++)//从左到右1'倒像输出
        {
            a[n][j]=num--;
        }
        for(i=n+1;i         {
            a[i][N-n-1]=num--;
        }
    }
    for(i=0;i     {
        for(j=0;j         {
            printf("%-4d",a[i][j]);
        }
        printf("\n");
    }
}

你可能感兴趣的:(c语言)