做一个数字的正方形比如  
1   2   3   4
5   6   7   8
9   10  11  12
13  14  15  16
目的让他顺时针旋转 且  中间的四个数字6,7,10,11不变,每次转动一个位置 如何实现?

解决方案 »

  1.   

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                int[,] data = { { 1, 2, 3, 4 }, 
                                { 5, 6, 7, 8 },
                                { 9, 10, 11, 12 }, 
                                { 13, 14, 15, 16 } };
                int temp = data[0, 3];
                for (int i = 3; i > 0; i--)
                {
                    data[0, i] = data[0, i - 1];
                }
                for (int i = 0; i < 3; i++)
                {
                    data[i, 0] = data[i + 1, 0];
                }
                for (int i = 0; i < 3; i++)
                {
                    data[3, i] = data[3, i + 1];
                }
                for (int i = 3; i > 0; i--)
                {
                    data[i, 3] = data[i - 1, 3];
                }
                data[1, 3] = temp;
                for (int i = 0; i < 4; i++)
                {
                    for (int j = 0; j < 4; j++)
                        Console.Write(data[i, j] + "\t");
                    Console.WriteLine();
                }
            }
        }
    }
    /*
    5       1       2       3
    9       6       7       4
    13      10      11      8
    14      15      16      12
    Press any key to continue . . .
    */
      

  2.   

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                int[,] data = { { 1, 2, 3, 4 }, 
                                { 5, 6, 7, 8 },
                                { 9, 10, 11, 12 }, 
                                { 13, 14, 15, 16 } };
                Console.WriteLine("----------------------------");
                for (int k = 0; k < 12; k++)
                {
                    int temp = data[0, 3];
                    for (int i = 3; i > 0; i--)
                    {
                        data[0, i] = data[0, i - 1];
                    }
                    for (int i = 0; i < 3; i++)
                    {
                        data[i, 0] = data[i + 1, 0];
                    }
                    for (int i = 0; i < 3; i++)
                    {
                        data[3, i] = data[3, i + 1];
                    }
                    for (int i = 3; i > 0; i--)
                    {
                        data[i, 3] = data[i - 1, 3];
                    }
                    data[1, 3] = temp;
                    for (int i = 0; i < 4; i++)
                    {
                        for (int j = 0; j < 4; j++)
                            Console.Write(data[i, j] + "\t");
                        Console.WriteLine();
                    }
                    Console.WriteLine("----------------------------");
                }        }
        }
    }
    /*
    ----------------------------
    5       1       2       3
    9       6       7       4
    13      10      11      8
    14      15      16      12
    ----------------------------
    9       5       1       2
    13      6       7       3
    14      10      11      4
    15      16      12      8
    ----------------------------
    13      9       5       1
    14      6       7       2
    15      10      11      3
    16      12      8       4
    ----------------------------
    14      13      9       5
    15      6       7       1
    16      10      11      2
    12      8       4       3
    ----------------------------
    15      14      13      9
    16      6       7       5
    12      10      11      1
    8       4       3       2
    ----------------------------
    16      15      14      13
    12      6       7       9
    8       10      11      5
    4       3       2       1
    ----------------------------
    12      16      15      14
    8       6       7       13
    4       10      11      9
    3       2       1       5
    ----------------------------
    8       12      16      15
    4       6       7       14
    3       10      11      13
    2       1       5       9
    ----------------------------
    4       8       12      16
    3       6       7       15
    2       10      11      14
    1       5       9       13
    ----------------------------
    3       4       8       12
    2       6       7       16
    1       10      11      15
    5       9       13      14
    ----------------------------
    2       3       4       8
    1       6       7       12
    5       10      11      16
    9       13      14      15
    ----------------------------
    1       2       3       4
    5       6       7       8
    9       10      11      12
    13      14      15      16
    ----------------------------
    Press any key to continue . . .
    */
      

  3.   

    先多谢caozhy了 可能是我没有表达清楚
    1  2  3   4
    5  6  7   8
    9  10 11  12
    13 14 15  16
    6,7,10,11不动 周围数字顺时针不停转动 每次转动一个位置