当前位置: 首页 > news >正文

顺时针螺旋递减等差数列矩阵

由用户输入一个整数(>=1),则形成一个顺时针螺旋递减等差数列矩阵,
符合1,2,3…n*n
输入数字2,则程序输出:
1 2
4 3
输入数字3,则程序输出:
1 2 3
8 9 4
7 6 5
输入数字4, 则程序输出:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7

static void Main(string[] args) { Console.Write("Please input n:"); int n = Convert.ToInt32(Console.ReadLine()); int[,] arr=new int[n,n]; int x = 0; int y = 0; string direction = "right"; for (int i = 1; i <= n * n;i++ ) { switch (direction) { case "right": arr[x, y++] = i; if (y == n || arr[x, y] != 0)//如果当前列索引为n(到了最右), 或当前元素右边的元素不为0, 转下 { direction = "bottom"; y--; x++; } break; case "bottom": arr[x++, y] = i; if (x == n || arr[x, y] != 0)//如果当前行索引为n(到了最下), 或当前元素下边的元素不为0, 转左 { direction = "left"; x--; y--; } break; case "left": arr[x, y--] = i; if (y == -1 || arr[x, y] != 0)//如果当前列索引为-1(到了最左), 或当前元素左边的元素不为0, 转上 { direction = "top"; y++; x--; } break; case "top": arr[x--, y] = i; if (arr[x, y] != 0)//如果上面的一行不为0, 转右 { direction = "right"; x++; y++; } break; } } for (int i = 0; i < arr.GetLength(0); i++) { for (int j = 0; j < arr.GetLength(1); j++) { Console.Write(arr[i,j]+"/t"); } Console.WriteLine(); } Console.ReadLine(); }

相关文章:

  • MVC DataTable转ArrayList转JSON返回JSON到页面
  • 自定义控件自动出现在工具栏
  • 中庸之道别解,读《幸福超越完美》——leo鉴书(13)
  • mvc:argument-resolvers 自定义注解处理参数
  • Android下实现GPS定位服务
  • 数字转化为汉字,如5-五
  • 用Thread做点自动化的事
  • 201521123042 《Java程序设计》 第10周学习总结
  • Mysql全文索引
  • 如何不用组件实现Ajax效果
  • SQL Server中关于基数估计如何计算预估行数的一些探讨
  • NodeJS安装第一个工程.
  • 丢失了'LINQ to SQL类’模板怎么办?
  • Linq O/R设计器的使用
  • 【linux】之内核升级
  • 345-反转字符串中的元音字母
  • mysql 数据库四种事务隔离级别
  • nginx 配置多 域名 + 多 https
  • python学习笔记 - ThreadLocal
  • SQLServer之创建显式事务
  • 从PHP迁移至Golang - 基础篇
  • 思否第一天
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • (第一天)包装对象、作用域、创建对象
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (全注解开发)学习Spring-MVC的第三天
  • (十六)一篇文章学会Java的常用API
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转载)Linux网络编程入门
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • 、写入Shellcode到注册表上线
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .NET 设计模式初探
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • /bin/rm: 参数列表过长"的解决办法
  • ??myeclipse+tomcat
  • @Documented注解的作用
  • [CSS]浮动
  • [delphi]保证程序只运行一个实例
  • [Django开源学习 1]django-vue-admin
  • [DM复习]Apriori算法-国会投票记录关联规则挖掘(上)
  • [EFI]ASUS EX-B365M-V5 Gold G5400 CPU电脑 Hackintosh 黑苹果引导文件
  • [E链表] lc83. 删除排序链表中的重复元素(单链表+模拟)
  • [Hadoop in China 2011] Hadoop之上 中国移动“大云”系统解析
  • [HTML API]HTMLCollection
  • [InnoDB系列] -- SHOW INNODB STATUS 探秘
  • [LeetCode][面试算法]逻辑闭环的二分查找代码思路
  • [MTK]安卓8 ADB执行ota升级
  • [Oh My C++ Diary]用cout输出流保留输出小数位数的方法
  • [POJ 2406]Power Strings[KMP]
  • [vim]Python编写插件学习笔记1 - 开始