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;
}

结语

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


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

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

编程小白写作,如有纰漏或错误,欢迎指正


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/299133.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gitlab添加SSH后任需要输入密码问题

本文主要记录一下在Gitlab上设置过ssh秘钥后&#xff0c;任然无法进行ssh访问的问题。 配置步骤 要在GitLab中添加SSH登录&#xff0c;你需要按照以下步骤操作&#xff1a; 生成SSH密钥对 在你的本地机器上生成一个SSH密钥对。如果你已经有一个密钥对&#xff0c;你可以跳过…

TikTok与环保:短视频如何引领可持续生活方式?

在数字时代&#xff0c;社交媒体平台扮演着塑造文化和价值观的关键角色。而TikTok&#xff0c;作为一款全球短视频平台&#xff0c;不仅塑造着用户的娱乐方式&#xff0c;还在悄然地引领着可持续生活方式的潮流。本文将深入探讨TikTok与环保之间的关系&#xff0c;分析短视频如…

vue 导出 HTML 结构为 Word 文档(.docx)-支持表格、css样式、图片

在 Web 开发中&#xff0c;有时我们希望用户能够将网页上的 HTML 内容保存为 Word 文档&#xff0c;以便更方便地分享和打印。本文将介绍如何使用 html-docx-js 和 file-saver 这两个 JavaScript 库&#xff0c;实现将 HTML 结构导出为 Word 文档的功能。 工具简介 1. html-d…

多维时序 | MATLAB实CNN-Mutilhead-Attention卷积神经网络融合多头注意力机制多变量时间序列预测

多维时序 | MATLAB实CNN-Mutilhead-Attention卷积神经网络融合多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实CNN-Mutilhead-Attention卷积神经网络融合多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | …

动态规划系列 | 最长上升子序列模型(下)| 拦截导弹一网打尽!

文章目录 拦截导弹题目描述输入格式输出格式 问题分析第一问第二问 贪心正确性证明程序代码复杂度分析 导弹防御系统题目描述输入格式输出格式 问题分析程序代码 拦截导弹 题目描述 某国为了防御敌国的导弹袭击&#xff0c;发展出一种导弹拦截系统。 但是这种导弹拦截系统有…

到底是前端验证还是后端验证

背景 软件应用研发中&#xff0c; 前端验证还是后端验证这是意识与认知问题。鉴于某些入门同学还不清楚&#xff0c;我们再来看下&#xff1a; 一. 从软件行业来自国外 Q: 前端验证和后端验证都是对同一个数据的验证&#xff0c;有什么区别&#xff1f; A: 二者的目的不同&…

Linux---命令行参数+环境变量

一、命令行参数 int main(int argc,char*argv[]) {//...return 0; } 不知道有没有人见过这样的主函数&#xff0c;它带了两个参数&#xff0c;argv接收的参数就叫做命令行参数&#xff0c;因为它的参数是从命令行来的&#xff0c;给大家演示一下&#xff0c;大家就懂了 命令行…

修改第三方npm包

文章目录 一、前言二、补丁方案2.1、patch-package2.2、pnpm patch 三、换日方案四、总结五、最后 一、前言 在开发过程中&#xff0c;发现某个npm包有Bug&#xff0c;应该怎么办&#xff1f;可以试试下面这2种方案&#xff1a; 代码量少&#xff0c;可以直接修改npm包代码的&…

初入职场不会Git?经常被团队成员怼?手把手教你如何使用git

Git分支合并选择 简介&#xff1a; 用Git进行多人协作开发时&#xff0c;必然会合并代码&#xff0c;解决冲突。然而合并代码也是需要点技巧的&#xff0c;如果对一些关键命令没有理解去使用的话&#xff0c;git的版本演进路线就会变得很乱&#xff0c;从而造成了日后维护的一…

【svn】win11最新svn每天自动化定时update、commit,隐藏窗口,定时脚本编写

本文使用schtasks结合bat脚本实现全自动svn update以及commit操作。执行时隐藏cmd窗口&#xff0c;全自动后台执行。 执行脚本 写脚本参考了网上很多文章&#xff0c;但是这些文章的方法都有问题或者已经失效&#xff0c;比如&#xff1a; 老版本的bat脚本&#xff0c;使用v…

vscode不同代码的项目分配不同的工作区

vscode不同代码的项目分配不同的工作区 很多时候我们很多项目都需要使用vscode来进行编写代码&#xff0c;像我个人会拿vscode写python&#xff0c;linux远程写代码&#xff0c;前端和stm32的编辑器&#xff0c;这些项目都有自己的插件&#xff0c;如果我们启动某一个项目&…

JVM内存结构Java内存模型Java对象模型

悟空老师思维导图&#xff1a;https://naotu.baidu.com/file/60a0bdcaca7c6b92fcc5f796fe6f6bc9https://naotu.baidu.com/file/60a0bdcaca7c6b92fcc5f796fe6f6bc9 1.JVM内存结构&&Java内存模型&&Java对象模型 1.1.JVM内存结构 1.2.Java对象模型 Java对象模型…