题解 | #蛇形矩阵#

蛇形矩阵

https://www.nowcoder.com/practice/f228a074c5274619b26be544962375e1

#include <stdio.h>
int main() 
{
    int i=0,j,x=0,y=1,flag=1,n,num=2;
    scanf("%d",&n);
    int a[20][20]={1};
    for(i=2;i<n+1;i++)
    {
        if(flag)
        {
        for(j=0;j<i;j++)
        {
            a[x++][y--]=num++;
        } 
        y++; 
        }
        if(!flag)
        {
        for(j=0;j<i;j++)
        {
            a[x--][y++]=num++;
        }  
        x++;
        }
        flag=!flag;
    }
    if(flag)
    x++,y--;
    else
    x--,y++;
     for(i=n-1;i>0;i--)
    {
       if(flag)
        {
        for(j=0;j<i;j++)
        {
            a[x++][y--]=num++;
        } 
        y+=2,x--; 
        }
        if(!flag)
        {
        for(j=0;j<i;j++)
        {
            a[x--][y++]=num++;
        }  
        x+=2,y--;
        }
        flag=!flag;
    }  
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        printf("%d ",a[i][j]);
        printf("\n");
    } 
    return 0;
}

全部评论

相关推荐

Dream_coding:你是不是只投大厂了
点赞 评论 收藏
分享
03-07 13:49
门头沟学院 Java
逆流河上万仙退:可能是发的钱太少了 怕你过来实习还要自己贴钱 意向就不高 省的浪费大家时间 可能你通过了也不会去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务