打印数字菱形图解和分析。
想要的效果:
解题思路:
首先可以将一个菱形比作以下图案来看 也就是将菱形分为若干个直角三角形所拼成的。
第一步 接受用户输入: int a; do {
Console.WriteLine(\请输入数字:\a = int.Parse(Console.ReadLine()); Console.Clear(); if (a > 9 || a <= 0) {
Console.WriteLine(\输入有误!不能输入数字:\Console.WriteLine(); }
} while (a > 9 || a <= 0); 第二步:
打印菱形的上半部分:
可以看成为3个直角三角形。(只需要左边第一个,第二个,
第三个)代码如下:
可以使用嵌套循环来做到:
for (int i = 1; i <= a; i++) {//限制菱形的上半部分高 for (int k = 1; k <= a - i; k++)
{//输出左上角的空格组成的三角形 Console.Write(\不换行输出 }
for (int k = 1; k
Console.Write(k); //在空格三角形的没行后面接上数字 }
for (int k =i; k >=1; k--)
{//输出与上面数字三角形组成菱形上半部分的另一半直角三角形 Console.Write(k);//不换行输出 }
Console.WriteLine();//最后在换一行继续进行下一行的输出 }
至此:菱形的上半部分已经完成
接下来打印下半部分菱形,原来与上半部分相同。 代码如下:
for (int i = 1; i <= a - 1; i++) { //空值下半部分行数 for (int k = 1; k <= i; k++) {//下半部分左边空格 Console.Write(\ }
for (int k = 1; k <= a - i-1; k++) {//下半部分的三角形(左) Console.Write(k); }
for (int k = a - i ; k >=1; k--) {//下半部分的三角形(右) Console.Write(k); }
Console.WriteLine();//换行 }
总体思路就是如此。
还可以用这种方法打印出 空心菱形, 菱形里面套菱形的图案。 以上仅供参考。
本人自己想的,并非抄袭。内容很基础,若有问题请指教。

