打印一个N*N的方阵,N为每边字符的个数,要求最外层为“X”,第二层为“Y”,从第三层起每层依次打印数字0,1,2,3,...

打印一个N*N的方阵,N为每边字符的个数,要求最外层为“X”,第二层为“Y”,从第三层起每层依次打印数字0,1,2,3,...
例子:当N =5,打印出下面的图形:
X X X X X
X Y Y Y X
X Y 0 Y X
X Y Y Y X

X X X X X

核心就一句话“textBox1.Text += data[Math.Min(Math.Min(i, (n - 1 - i)), Math.Min(j, (n - 1 - j)))];”

private void button1_Click(object sender, EventArgs e)
        {
           textBox1.Text = "";
            int n = Convert.ToInt16(textBox2.Text);
            char[] data = { 'x', 'y', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    textBox1.Text += data[Math.Min(Math.Min(i, (n - 1 - i)), Math.Min(j, (n - 1 - j)))];
                }
                textBox1.Text += "\r\n";
            }
        }

 

打印一个N*N的方阵,N为每边字符的个数,要求最外层为“X”,第二层为“Y”,从第三层起每层依次打印数字0,1,2,3,..._第1张图片

 

 

 

你可能感兴趣的:(精炼解题)