对于for的一些认识
/*▲
▲▲
▲▲▲
▲▲▲▲
▲▲▲▲▲
▲▲▲▲▲▲*/
例:如图用for嵌套打印一个三角形
思考,遇到这种组合的for嵌套问题首先我是先想他怎么输出,先来个
Console.Write("▲");
然后再找他的规律,第一行一个▲
第二行二个▲▲
第三行三个▲▲▲
*
*
第六行六个▲▲▲▲▲▲
以此类推第几行就有第几个三角形。
那么我先把行打出来
for(int i=1 ; i<=6 ; i++)
{
Console.Write("▲");
}
这里我会发现这样只会横向打六个▲▲▲▲▲▲,那么怎么样能逐行输出呢?
我们可以使用另一个for来控制这个横向输出的for循环;
for(int j=1 ; j<=6 ; j++) //这样输出的是一个6x6的正方形,因为这个for
{
Console.WriteLine("\n"); //这里纵向输出的for循环控制换行,横向输出完就换行,
}
如果想要根据要求输出三角形就应该使横向输出的变量受到纵向输出的控制,纵向走一步横向多打一个▲,嵌套起来那么就应该变为
for(int i=1 ; i<=6 ; i++) //外层这个for只是负责输出行(\n),i从1开始到6行。
{
for(int j=1 ; j<=i ; j++) //内层for收到i的影响,i在循环,i=1,j=1;i=2,j=2。
{
Console.Write("▲");
}
Console.Write("\n");
}
Console.ReadLine();
请养成良好的习惯,遇到问题先去分析,画图找规律。