最近看到一道这样的着这样的题目,当你输入一个数字(0-26),那么会打印一圈一圈的英文字母。比如,我输入一个5那么会打印一个图形
现在大家明白了我们的意图了,接下来我们分析一下程序的流程。
一种方法是我们我们一圈一圈打印
一种方法是我们类似于金字塔一样,一层一层网上堆,每上升一层,就小一圈,鸟瞰起来,那就是这样的图形。
static void PrintGrapic(int num) {
int i;
int j;
int k;
int n = num * 2 - 1;
char[,] a = new char[n,n];
//控制高度
for (k = 0; k < n / 2 + 1; k++)
{
//控制每一层的行号
for (i = k; i < n - k; i++)
{
//控制每一层的列号
for (j = k; j < n - k; j++)
{
a[i, j] = (char)('A' + num - 1 - k);
}
}
}
//打印图形
for(int x = 0;x<n;x++){
for(int y = 0;y<n;y++){
Console.Write(a[x,y]);
}
Console.WriteLine();
}
}