C螺旋(右上三角)加蛇形(左下三角)矩阵(数组).docVIP

  • 9
  • 0
  • 约 4页
  • 2017-06-07 发布于重庆
  • 举报

C螺旋(右上三角)加蛇形(左下三角)矩阵(数组).doc

C螺旋(右上三角)加蛇形(左下三角)矩阵(数组)

C#螺旋(右上三角)加蛇形(左下三角)矩阵(数组) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int n ; Console.Write(请输入一个数:); n = Int32.Parse(Console.ReadLine()); int t = n; int max = n * n; int row = 0, col = 0; int m = (max - n) / 2 + n;//螺旋的最大值 int[,] result = new int[t, t]; bool flag = true;//对角标志 for (int i = 1; i = m; i++) {//螺旋部分 if ((flag result[row, col n ? col : n - 1] == 0)) {//横向螺旋 result[row, col] = i; col++; continue; } if (flag (result[row n - 1 ? row + 1 : n - 1, col - 1] == 0)) {//纵向螺旋 row++; result[row, col - 1] = i; continue; } //对角斜向上 if (flag) col--; flag = false; col--; row--; result[row, col] = i; if (result[row - 1 0 ? 0 : row - 1, col - 1 0 ? 0 : col - 1] == 0) {//斜对角数未填充 continue; } else { if (result[row, col + 1] != 0) { continue; } else { col++; flag = true; } } } row = 1; col = 0; n = t; flag = true; for (int i = m + 1; i = max; i++) {//蛇形部分 if (flag result[row = n ? n - 1 : row, col = n - 2 ? n - 2 : col] == 0) {//斜向下对角

文档评论(0)

1亿VIP精品文档

相关文档