凯尔瑞斯

导航

1到9的数字填充后每行每列的数字相加都等于15的九宫格算法

 1 /// <summary>
 2         /// 九宫格算法
 3         /// </summary>
 4         public void NineTable()
 5         {
 6             //创建一个三阶方阵
 7             int[,] arr = new int[3, 3];
 8             //第3行的行下标
 9             int a = 2;
10             //第2行的行下标
11             int b = 3 / 2;
12             //给数组赋值
13             for (int i = 1; i <= 9; i++)
14             {
15                 arr[a++, b++] = i;
16 
17                 //如果i是3的倍数
18                 if (i % 3 == 0)
19                 {
20                     a = a - 2;
21                     b = b - 1;
22                 }
23                 else //如果i不是3的倍数
24                 {
25                     a = a % 3;
26                     b = b % 3;
27                 }
28             }
29 
30             StringBuilder sb = new StringBuilder();
31             //遍历输出九宫格
32             for (int i = 0; i < 3; i++)
33             {
34                 for (int j = 0; j < 3; j++)
35                 {
36                     sb.Append(arr[i, j].ToString() + " ");
37                 }
38                 sb.Append("<br/>");
39             }
40             lbNineTable.Text = "输出九宫格:<br/>" + sb.ToString().Trim();
41         }
View Code

 

程序运行的结果如下所示:

输出九宫格:
4 9 2
3 5 7
8 1 6

posted on 2016-07-30 21:43  凯尔瑞斯  阅读(8061)  评论(1编辑  收藏  举报