题解 | #蛇形矩阵#

蛇形矩阵

http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e

#include <stdio.h>
#include <string.h>

int main()
{

    int s[100][100] = {0};
    //观察到分为 i = 1 2 3 4 5 五组
    //用j遍历这五组 num++ 记录当前数值  行列之和为当前组-1
    //列数为j-1 % i取余
    int group;
    while (scanf("%d", &group) != EOF)
    {
        int  num = 0;
        for (int i = 1; i <= group; i++)
        {
            for (int j = 1; j <= i; j++)
            {
                ++num;
                int col = (j - 1) % i;
                s[i-1-col][col] = num;
            }
        }

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

    return 0;
}

全部评论

相关推荐

09-10 15:05
已编辑
门头沟学院 游戏后端
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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