题目:
输入一个整数n,要求输出一个N×N蛇形阵(n<10),比如输入整数4,则输出如下蛇形阵:

1    2   3   4
12  13  14  5
11  16  15  6
10  9   8   7

看到别人写心里痒痒,好久没有写过算法题,找到一到比较经典的题目写一写。
一般写这些算法题,都需要找规律,想一些特殊情况,甚至可以代一些数字进去。

上代码:

Console.WriteLine("请输入矩阵的行数n,你将生成一个n*n矩阵:");int n = Convert.ToInt32(Console.ReadLine());int num = 1;//矩阵值int[,] arr = new int[n, n];int a =Convert.ToInt32( Math.Ceiling(n*1.0 / 2));//根据观察总结,转的圈数为行数除以2,如果行数为奇数,则向上取整,即+1for (int i = 0; i < a; i++){for (int j = i; j < n - i; j++)  //用于每一圈判断第一行       {arr[i, j] = num++;}for (int j = i + 1; j < n - i - 1; j++)  //用于每一圈判断最后一列{arr[j, n - i - 1] = num++;}for (int j = n - i - 1; j > i; j--)      //用于判断每一圈最后一行{arr[n - i - 1, j] = num++;}for (int j = n - i - 1; j > i; j--)      //用于判断每一圈第一列{arr[j, i] = num++;}}for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){Console.Write(arr[i, j] + "\t");}Console.WriteLine();}Console.ReadKey();

输入一个整数n,按要求生成一个n*n的蛇形矩阵相关推荐

  1. 数组-接口2-参数为一个整型数组和数组长度的整数(该数组输入和运算结果),再加一个整数;预期结果是一个整型数组

    测试接口的代码说明 适用接口:参数为一个整型数组和数组长度的整数(该数组输入和运算结果),再加一个整数:预期结果是一个整型数组 测试接口的具体代码如下: 注意红色字体,用后续小节中的接口进行替换,进行 ...

  2. 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

    题目描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 ...

  3. 手机通讯录中新加一个联系人,便会生成一个带姓氏的图片,这是如何实现的

    手机通讯录中新加一个联系人,便会生成一个带姓氏的图片,这是如何实现的 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdo ...

  4. np.random.randint 与 np.random.rand区别 前者返回为参数指定的范围区间的一个整数后者返回的为一个概率

    np.random.randint  与 np.random.rand区别 前者返回为参数指定的范围区间的一个整数后者返回的为一个概率 import numpy as np num_lstm = np ...

  5. 【c语言】一个整数加上100后是一个完全平方数,再加上168又是一个完全平方数,问该数是多少?

    一个整数加上100后是一个完全平方数,再加上168又是一个完全平方数,问该数是多少? 在100000以内判断 定义三个变量i,x,y 利用for循环让i在100000以内从1增加到100000,在循环 ...

  6. java确定一个整数是否溢出,java-判断一个整数是不是回文,考虑溢出

    java-判断一个整数是否回文,考虑溢出 public class PalindromeInt { /** * PalindromeInt,like 1,121,12321.... * you sho ...

  7. 在10万以内判断,一个整数加上100后是一个完全平方数,再加上168又是一个完全平方数,求该数...

    题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后 的结果 ...

  8. linux文件下生成一个文件,Linux系统下生成一个指定大小的文件要注意什么?

    在装系统,因此在这里随便记点东西. 从前与经理讨论NVR项目的时候,他提到要预先将用户指定好的磁盘空间预留出来,这是比较容易实现的功能.不容易实现的是自己写一个文件系统,这种方法我是不太敢照量啊,不过 ...

  9. 工厂模式,设计电话卡类,具有属性姓名,具有动作计费,电话卡片分成 联通和移动,要求在控制台中输入联通 就能通过工厂生成一个联通的联通卡的对象,输入移动生成移动卡的对象,然后分别调用各自的计费方式打印出

    package com.Telephone;/*** @Author: 廾匸* @Date: 2020/11/6 21:21* @Description: 电话卡类* @version: 1.01*/ ...

  10. excel怎么设置一个按钮就一点就生成一个表_条码生成软件如何批量生成DPD条码...

    之前有介绍过关于DPD条码的编码方式,校验算法,制作方法等等信息,今天主要给大家介绍一下如何用条码生成软件批量生成DPD条码.以Excel表为例,批量导入Excel表数据批量生成DPD条码. 1.数据 ...

最新文章

  1. 【怎样写代码】实现对象的复用 -- 享元模式(四):享元模式与字符串
  2. linux 查看 全部网卡 虚拟网卡 物理网卡
  3. SSH加密密码中的非对称式密码学
  4. 华中科技大学期刊分类办法_紧跟国际前沿,拓展研究思路,立足国内实践,提升科研能力 —— 记国际期刊学术论文写作与发表研修班...
  5. 一次多线程臭虫经验——异步日志c++化时
  6. activiti启动流程实例,添加进businessKey
  7. RDD Persistence持久化
  8. java 反射创建属性_使用Java反射机制确定基本数据类型属性
  9. 邮件代理发送功能更新和Exchange 6月份补丁更新提示
  10. python 多线程读写文件_Python多线程同步---文件读写控制方法
  11. C#限制float有两位小数
  12. MPLS virtual private network Internet接入
  13. 在SUSE 10下安装oracle 11g
  14. VAR模型分析联合内生变量的动态关系
  15. 北方果蔬谋定三链重构-农业大健康·随秀富:功能性农业理念
  16. Excel小笔记——冻结窗格
  17. 电脑视频加水印软件哪个好?这些软件值得收藏
  18. 汽车导航中,导航引擎与导航地图的关系
  19. 农民工与学生为楼癫狂 富人加速撤离
  20. php购物车登录用cookie,php利用cookies实现购物车的方法

热门文章

  1. Leetcode 1925. Count Square Sum Triples [Python]
  2. AnnotationProcessor 处理器不工作怎么定位?
  3. 【labelme格式json转为labelimg格式的xml(VOC)】
  4. 结对项目-数独程序扩展
  5. MRT工具谢幕,HEG华丽登场
  6. 初级X编程(非常好的入门学习资料)
  7. constrain用法_constrain是什么意思_constrain的翻译_音标_读音_用法_例句_爱词霸在线词典...
  8. 再见,胡阿姨!再见,共享单车!
  9. 最新国产电源厂家及具体型号pin-to-pin替代手册发布
  10. PostgreSQL 收缩膨胀表或索引 - pg_squeeze or pg_repack