O O A O O A 3 O O O A O O O A4 1
O A A A O 左A 2 右A 4 O O A A A O O 3 5 2
A A A A A 左A 1 右A 5 O A A A A A O 2 6 3
O A A A O 左A 2 右A 4 A A A A A A A 1 7 4
O O A O O A 3 O A A A A A O 2 6 5
O O A A A O O 3 5 6
O O O A O O O 4 7
打印实心菱形:找出开始打印A和结束打印A的位置
public static void PrintDiamond(int n)
{
int count = n / 2 + 1;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <=n; j++)
{
if (i <= count)
{
if (j>count-i&&j<count+i)
{
Console.Write("A");
}
else
{
Console.Write(0);
}
}
else
{
if (j > i-count && j < 3*count-i)
{
Console.Write("A");
}
else
{
Console.Write(0);
}
}
}
Console.WriteLine();
}
}
打印空心菱形:只打印边界的A即可只要改变一下条件(j==count-i+1||j==count+i-1)、(j == i-count+1 || j == 3*count-i-1)
就能实现空心菱形的打印
打印嵌套菱形:只需要添加一个变量来控制A的打印
int count = n / 2 + 1;
for (int i = 1; i <= n; i++)
{
int a = 0;
for (int j = 1; j <=n; j++)
{
if (i <= count)
{
if (j>count-i&&j<count+i)
{
a++;
if (a%2==0)
{
Console.Write(0);
}
else
{
Console.Write("A");
}
}
else
{
Console.Write(0);
}
}
else
{
if (j > i-count && j < 3*count-i)
{
a++;
if (a % 2 == 0)
{
Console.Write(0);
}
else
{
Console.Write("A");
}
}
else
{
Console.Write(0);
}
}
}
Console.WriteLine();
}