现在我要输出以下格式:
比如说n是一整型(n>0)
当n=3时输出
111
121
111
当n=4时输出
1111
1221
1221
1111
当n=5时输出
11111
12221
12321
12221
11111
以此类推
用c#语言写一个函数,该如何去写啊?什么样的思路啊?请教高手了,谢谢
比如说n是一整型(n>0)
当n=3时输出
111
121
111
当n=4时输出
1111
1221
1221
1111
当n=5时输出
11111
12221
12321
12221
11111
以此类推
用c#语言写一个函数,该如何去写啊?什么样的思路啊?请教高手了,谢谢
{
case 3:
break;
case 4:
break;
case 5:
break; }
using System;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
printSquare(9);
} private static void printSquare(int n)
{
for (int i = 1; i <= (1+n)/2; i++)
{
for (int j = 1; j <= n; j++)
{
int tmp = j;
tmp = Math.Min(i, Math.Min(j, n - j+1));
Console.Write(tmp);
}
Console.WriteLine();
}
for (int i = (1 + n) / 2; i < n; i++)
{
for (int j = 1; j <= n; j++)
{
int tmp = j;
tmp = Math.Min(n-i,Math.Min( j,n-j+1));
Console.Write(tmp);
}
Console.WriteLine();
}
}
}
}
{
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
//看做数组来处理,则arr[i,j]的值为i,n - i + 1,j,n - j + 1的最小值
Console.Write(Math.Min(Math.Min(i, n - i + 1), Math.Min(j, n - j + 1)));
}
Console.WriteLine();
}
Console.WriteLine();
}
{
int m, n;
for (int i = 1; i <= Length; i++)
{
for (int j = 1; j <= Length; j++)
{
m = i > Length/2 ? Length - i + 1 : i;
n = j > Length/2 ? Length - j + 1 : j; Console.Write(Math.Min(m,n)); }
Console.WriteLine();
}
}