用c#编写舒特尔方格
时间: 2023-07-27 17:13:17 浏览: 171
下面是一个简单的C#代码实现舒特尔方格:
```
using System;
namespace SchotterGrid
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入方格的行数:");
int n = int.Parse(Console.ReadLine());
int[,] grid = new int[n, n];
int num = 1;
int row = 0, col = n / 2;
while (num <= n * n)
{
grid[row, col] = num;
num++;
int next_row = (row - 1 + n) % n;
int next_col = (col + 1) % n;
if (grid[next_row, next_col] == 0)
{
row = next_row;
col = next_col;
}
else
{
row = (row + 1) % n;
}
}
Console.WriteLine("舒特尔方格如下:");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
Console.Write("{0,3}", grid[i, j]);
}
Console.WriteLine();
}
Console.ReadKey();
}
}
}
```
在这个代码中,我们首先让用户输入方格的行数,然后创建一个二维数组来存储舒特尔方格中的数字。接着,我们从第一行中间位置开始,按照舒特尔方格的规则遍历整个方格,并将数字依次填入数组中。最后,我们将数组输出到控制台上,以展示生成的舒特尔方格。
阅读全文