回型矩阵

#include<stdio.h>
#include<stdlib.h>
#define N 30
int a[N][N],dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};
int s[N][N];
int main()
{

    int n;
    scanf(&quot;%d&quot;,&amp;n);
    int x=0,y=0,X=0,Y=0;
    int k=0;
    for(int i=1;i<=n*n;i++)
    {    s[x][y]=1;
        a[x][y]=i;
          X=x+dx[k];Y=y+dy[k];
         if(X>=0&amp;&amp;X<n&amp;&amp;Y>=0&amp;&amp;Y<n&amp;&amp;s[X][Y]==0)  {x=X;y=Y;}
         else
         {
             if(k!=3)
             {
                 k++;
                 x+=dx[k];
                 y+=dy[k];
             }
             else
            {
                k=0;
                x+=dx[k];
                y+=dy[k];
             }
         }
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
            printf(&quot;%d &quot;,a[i][j]);
        printf(&quot;\n&quot;);
    }
    return 0;

}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 13:15
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务