您的位置:首页 > 编程语言 > C#

数字旋转方阵(c#数组的使用)

2007-04-13 20:40 851 查看
今天上机编了一个小程序,觉得挺有意思的。拿出来和大家一起分享一下。

题目大体意思如下:

根据用户键入的值,输出如下格式的数字旋转方阵。

例:输入4

输出方阵如下:

1 12 11 10

2 13 16 9

3 14 15 8

4 5 6 7

代码如下:

static void Main(string[] args)
{
Console.Write("请输入n的值:");
int n = int.Parse(Console.ReadLine());
int[,] a = new int[n, n];
int i = 0, j = 0;//二维数组的两个下标
int cout = 1;
int m = 0; //当前圈数
;
while (m < n / 2)//依次为每一圈得元素赋值
{
for (i = m, j = m; i < n - m - 1; i++)

a[i, j] = cout++;

for (j = m; j < n - m - 1; j++)
a[i, j] = cout++;

for (i = n - m - 1; i > m; i--)
a[i, j] = cout++;
for (j = n - m - 1; j > m; j--)
a[i, j] = cout++;
m++;
}
if (n % 2 != 0)//n为奇数的情况,为中间元素赋值
a[n / 2 , n / 2 ] = n * n;
Console.WriteLine("该方阵如下所示:");//输出方阵
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
if (a[i, j] < 10)

Console.Write(" {0}", a[i, j]);
else
Console.Write(" {0}", a[i, j]);
}
Console.Write("/n/n");

}

Console.WriteLine("Press Anykey to continue...");
Console.ReadLine();
}
}
}

希望大家能和我多多交流。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: