码迷,mamicode.com
首页 > 其他好文 > 详细

奇数平方的九宫格

时间:2018-01-18 17:12:44      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:private   ++   test   orm   class   +=   tin   i++   end   

private void btnTest_Click(object sender, EventArgs e)
{
int num = (int)numericUpDown1.Value;
int[,] arrData = new int[num, num];
int halfNum = num / 2;
int minNum = (num * num + 1) / 2;

for (int i = 0; i < num; i++)
{
arrData[i, i] = halfNum + minNum - i;
}

arrData[1, 0] = halfNum + minNum + 1;

int x = 0;
int y = 0;
for (int i = 0; i < num * num; i++)
{
if (i == 0)
{
arrData[0, halfNum] = 1;
x = 0;
y = halfNum;


continue;
}

if (i >= (minNum - halfNum) && i <= (minNum + halfNum))
{
x = 1;
y = 0;
continue;
}


if (x == 0)
{
if (arrData[num - 1, y - 1] == 0)
{
arrData[num - 1, y - 1] = i + 1;
x = num - 1;
y = y - 1;
continue;
}
}
else if (y == 0)
{
if (x > 0)
{
if (arrData[x - 1, num - 1] == 0)
{
x = x - 1;
y = num - 1;
arrData[x, y] = i + 1;

continue;
}
}
else
{
x = x + 1;
y = 0;
arrData[x, 0] = i + 1;
continue;
}
}
else
{
if (arrData[x - 1, y - 1] != 0)
{
x = x + 1;

arrData[x, y] = i + 1;
}
else
{
x = x - 1;
y = y - 1;
arrData[x, y] = i + 1;
}
}
}

string str = "";
for (int i = 0; i < num; i++)
{
for (int j = 0; j < num; j++)
{
str += FormatStr(arrData[i, j], (num * num).ToString().Length) + " ";
}
str += "\r\n";
str += "\r\n";
}

textBox1.Text = str;
}

string FormatStr(int num, int length)
{
string str = num.ToString();
int l = str.Length;
for (int i = l; i < length; i++)
{
str = " " + str;
}
return str;
}

 

6  1  8

7  5  3

2  9  4

 

以此类推的宫格

 

奇数平方的九宫格

标签:private   ++   test   orm   class   +=   tin   i++   end   

原文地址:https://www.cnblogs.com/fish124423/p/8310413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!