帮我写一个基于c# 螺旋矩阵的代码
时间: 2023-08-28 08:12:27 浏览: 159
以下一个基于 C# 的螺旋矩阵生成代码:
```csharp
using System;
class SpiralMatrix
{
static void Main()
{
int n = 5; // 矩阵维数
int[,] matrix = new int[n, n]; // 初始化矩阵
int row = 0, col = 0, direction = 0; // 初始化行、列、方向
int[] dRow = { 0, 1, 0, -1 }; // 行移动方向
int[] dCol = { 1, 0, -1, 0 }; // 列移动方向
for (int i = 1; i <= n * n; i++) // 循环n^2次
{
matrix[row, col] = i; // 将当前数字填入矩阵中
int nextRow = row + dRow[direction]; // 计算下一个位置的行坐标
int nextCol = col + dCol[direction]; // 计算下一个位置的列坐标
if (nextRow < 0 || nextRow >= n || nextCol < 0 || nextCol >= n || matrix[nextRow, nextCol] != 0) // 判断是否需要转弯
{
direction = (direction + 1) % 4; // 转弯
}
row += dRow[direction]; // 更新行坐标
col += dCol[direction]; // 更新列坐标
}
// 输出结果
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
Console.Write("{0, 2} ", matrix[i, j]);
}
Console.WriteLine();
}
}
}
```
该代码会生成一个 5x5 的螺旋矩阵,你可以根据需要修改 `n` 的值来生成不同维数的矩阵。
阅读全文