首页 > 学院 > 开发设计 > 正文

螺旋方阵

2019-11-06 06:01:38
字体:
来源:转载
供稿:网友

所谓“螺旋方阵”,是指对任意给定的NNN,将1到N×NN/times NN×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×NN/times NN×N的方阵里。本题要求构造这样的螺旋方阵。

输入格式:

输入在一行中给出一个正整数NNN(<10<10<10)。

输出格式:

输出N×NN/times NN×N的螺旋方阵。每行NNN个数字,每个数字占3位。

输入样例:

5

输出样例:

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

#include<stdio.h>int main(){    int a[10][10]={0};    int i,j,flag,count;    int n,m,u,ans,k;    scanf("%d",&n);    m=ans=i=j=count=0;    u=n; k=n*n;    while(ans<k)    {        while(j<n&&(ans<k))        {            a[i][j]=++count;            ++ans;            if(j==n-1)                break;            j++;        }        i++;        while(i<n&&(ans<k))        {            a[i][j]=++count;            ++ans;            if(i==n-1)                break;            i++;        }        j--;        while(j>=m&&(ans<k))        {            a[i][j]=++count;            ++ans;            if(j==m)                 break;            j--;        }        m++;        i--;        while(i>=m&&(ans<k))        {            a[i][j]=++count;            ++ans;            if(i==m)                break;            i--;        }        j++;        n--;    }    for(i=0;i<u;i++)    {        for(j=0;j<u;j++)        {            PRintf("%3d",a[i][j]);        }        printf("/n");    }}

 

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表