C语言蛇形矩阵

这篇具有很好参考价值的文章主要介绍了C语言蛇形矩阵。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

每日一言

山有榛,隰有苓。云谁之思?西方美人。 --邶风·简兮


题目

C语言蛇形矩阵,C语言,牛客网刷题,c语言,矩阵,算法

解题思路

话不多说,直接看图
C语言蛇形矩阵,C语言,牛客网刷题,c语言,矩阵,算法

通过观察图表,我想到了这种方法:
我将数字放置的位置分为两大类:向右走和向左走
每大类里又分为3小类:

  1. 向左走:(1)能往左下往左下(2)左下不行向下移(3)下移不行向右移
  2. 向右走:(1)能往右上往右上(2)右上不行向右移(3)右移不行向下移

知道思路代码就很好写了

全部代码

#include <stdio.h>

int main() 
{
    int n=0;
    scanf("%d",&n);
    int arr[n][n];
    int i=0,j=0,k=0;
    int f=0;//判断移动方向,0右,1左
    arr[0][0]=1;
    
    for(k=1;k<n*n;k++)
    {
        if(f)//左
        {
            if(i+1<n&&j-1>=0)//左下合理
            {
                arr[i+1][j-1]=arr[i][j]+1;
                i++;
                j--;
            }
            else //左下不合理
            {
                if(i+1<n)//下移合理
                {
                    arr[i+1][j]=arr[i][j]+1;
                    i++;
                }
                else //下移不行,向右移
                {
                    arr[i][j+1]=arr[i][j]+1;
                    j++;
                }
                    f=0;
            }
        }
        else //右
        {
            if(i-1>=0&&j+1<n)//右上合理
            {
                arr[i-1][j+1]=arr[i][j]+1;
                i--;
                j++;
            }
            else//右上不合理
            {
                if(j+1<n)//右移合理
                {
                    arr[i][j+1]=arr[i][j]+1;
                    j++;
                }
                else //右移不行,向下移
                {
                    arr[i+1][j]=arr[i][j]+1;
                    i++;
                }
                    f=1;
            }
        }
    }

	//打印
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            printf("%d ",arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}

结语

请给自己些耐心,一口吃不成胖子。
山外青山楼外楼,莫把百尺当尽头。
保持空杯心态加油努力吧!


都看到这里啦!真棒(*^▽^*)

可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家

编程小白写作,如有纰漏或错误,欢迎指正文章来源地址https://www.toymoban.com/news/detail-812643.html


到了这里,关于C语言蛇形矩阵的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 蛇形矩阵蒸滴好玩

    先来看看题目: 描述 康托尔三角是由著名数学家康托尔设计的一个整数三角,可以用来证明所有有理数与自然数一一对应,亦即有理数集是一个可数集。康托尔三角的构造如下: 01 02 06 07 15 16 28 29 45 46 03 05 08 14 17 27 30 44 47 04 09 13 18 26 31 43 48 10 12 19 25 32 42 49 11 20 24 33 41 50 21

    2024年02月08日
    浏览(35)
  • 蛇形矩阵python

    作者简介 :一名后端开发人员,每天分享后端开发以及人工智能相关技术,行业前沿信息,面试宝典。 座右铭 :未来是不可确定的,慢慢来是最快的。 个人主页 :极客李华-CSDN博客 合作方式 :私聊+ 这个专栏内容 :BAT等大厂常见后端java开发面试题详细讲解,更新数目10

    2024年02月12日
    浏览(31)
  • 算法刷题-数组-螺旋矩阵

    力扣题目链接 给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 这道题目可以说在面试中出现频率较高的题目, 本题并不涉及到什么算法,就是模拟过程,但却十分考察对代

    2024年02月08日
    浏览(53)
  • 回型矩阵|蛇形矩阵|上三角矩阵|矩阵转置|二维数组打印问题

    二维数组,作为一种存放一系列数的载体,不免和数学中用于存放数的数表——矩阵,有着密切的联系。矩阵本身就有些抽象,需要设计一个程序精准打印出来更是有难度,所以今天便来总结一些二维数组与矩阵打印的问题该如何解决。 (题目取自牛客网BC133-BC138) 给你一个

    2024年02月03日
    浏览(49)
  • C语言——oj刷题——杨氏矩阵

    目录 1. 理解杨氏矩形的特点 2. 实现杨氏矩形查找算法 3. 编写示例代码 当我们谈到杨氏矩形时,我们指的是一种在二维数组中查找目标元素的高效算法。它是由杨氏(Yan Shi)教授提出的,因此得名为杨氏矩形。 杨氏矩形问题的场景是这样的:给定一个有序的二维数组,每一

    2024年02月20日
    浏览(39)
  • 华为机试题:HJ35 蛇形矩阵(python)

    描述 : 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 例如,当输入5时,应该输出的三角形为: 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11 输入描述 : 输入正整数N(N不大于100) 输出描述 :输出一个N行的蛇形矩阵。 示例1 Python3 【Python】input()函数用法小结 常用的强转类

    2024年02月07日
    浏览(37)
  • 华为OD机试题,用 Java 解【蛇形矩阵】问题

    华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】 华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】 华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】 华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】 华为OD机试 - 组成最大数(Java) | 机试题算法思

    2023年04月09日
    浏览(34)
  • 算法刷题Day 60 柱状图中的最大矩阵

    暴力解法 超时了 分别找出当前位置左边 第一个 比自己小的索引(的后一个位置)和右边 第一个 比自己小的索引(的前一个位置),这个范围之内,就是以当前位置的高度所能达到的最大宽度。 单调栈 有了接雨水那道题的经验,这一道题可以模仿着做出了

    2024年02月14日
    浏览(54)
  • java数据结构与算法刷题-----LeetCode566. 重塑矩阵

    java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完): https://blog.csdn.net/grd_java/article/details/123063846 代码:时间复杂度O(r*c).除题目要求外,算法本身没有需要额外空间,空间复杂度O(1) 从0开始算,一个3列n行矩阵中,每行就有3个元

    2024年01月21日
    浏览(43)
  • 【C语言.oj刷题】有序#整型矩阵元素查找##{思路+C源码}

      目录  题目信息 题目分析: 法一: 遍历二维数组(低效) 思路 源码  局限性  法二: 对每一行二分查找(有所提效) 思路  源码 局限性 法三: 利用一切有利条件使用二分查找 思路 源码 局限性  二分查找源码:           有一个数字矩阵,矩阵的每行从左到右是

    2024年02月04日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包