题解 | #回型矩阵#

回型矩阵

https://www.nowcoder.com/practice/36d5dfddc22c4f5b88a5b2a9de7db343

#include <stdio.h>
//通过控制边界来达到题目目的
int main() {
    int m[20][20]={0};
    int n;
    scanf("%d",&n);
    int i=1;
    int up=0;
    int left=0;
    int right=n-1;
    int down=n-1;
    while(i<=n*n)
    {
        for(int j=left;j<=right;j++)
        {
            m[up][j]=i++;
        }
        up++;

        for(int j=up;j<=down;j++)
        {
            m[j][right]=i++;
        }
        right--;
        for(int j=right;j>=left;j--)
        {
            m[down][j]=i++;
        }
        down--;
        for(int j=down;j>=up;j--)
        {
            m[j][left]=i++;
        }
        left++;

    }

    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            printf("%d ",m[i][j]);
        }
        printf("\n");
    }
    

    return 0;
}

全部评论

相关推荐

WhiteAlbum...:学院本2中大厂垂直实习➕acm比赛 秋招0面试
点赞 评论 收藏
分享
09-01 11:31
门头沟学院 Java
buul:七牛云的吧,感觉想法是好的,但是大家没那么多时间弄他这个啊。。。不知道的还以为他是顶尖大厂呢还搞比赛抢hc,只能说应试者的痛苦考察方是无法理解的,他们只会想一出是一出
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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