C# for循环的嵌套 做用域

for()spa

{   循环体能够套无数个for循环code

}blog

好比:for()作用域

{it

     for()for循环

    {class

         for()变量

         {... ...这里面能够镶嵌无数个for循环}循环

     }im

}

也能够这样

 for()

{

   for()

   {}

   ... ...

   for()

    {}

}

 

做用域  循环外面的变量/值能够用到循环里面赋值   循环里面不能够用到循环外面赋值

if也是   {}外面变量/值能够用到里面赋值  {}里面的变量不能够到外面赋值

 

   打三角形

图一


★★
★★★
★★★★
★★★★★

  for (int i = 1; i <= 5; i++) { for(int j=1;j<=i;j++) 每行要循环多少次 {Console.Write("");} Console.WriteLine(); j循环完了 自动换行 } Console.ReadLine();

图二

★★★★★
★★★★
★★★
★★

 for (int i = 1; i <= 5; i++) { for(int j=1;j<=6-i;j++) {Console.Write("");} Console.WriteLine(); } Console.ReadLine();

图三

            ★
         ★★
      ★★★
   ★★★★
★★★★★

思路:就是把左边上部分当成第二张图的三角形    就是把★改为空格

  for (int i = 1; i <= 5; i++) { for(int j=1;j<=5-i;j++) {Console.Write("  ");} for (int k = 1; k <= i; k++) { Console.Write(""); } Console.WriteLine(); } Console.ReadLine();

显示是

图四

★★★★★
 ★★★★
  ★★★
   ★★
    ★

思路和上面的同样

            for (int i = 1; i <= 5; i++) { for(int j=1;j<=i-1;j++) {Console.Write("  ");} for (int k = 1; k <=6-i; k++) { Console.Write(""); } Console.WriteLine(); } Console.ReadLine();

显示是

图五

         ★
   ★★★
  ★★★★★
 ★★★★★★★
★★★★★★★★★

思路是   左边直三角形(和图2相似)加三角形 (个数是2*行数-1)

 for (int i = 1; i <= 5; i++) { for(int j=1;j<=5-i;j++) {Console.Write("  ");} for (int k = 1; k <=2*i-1; k++) { Console.Write(""); } Console.WriteLine(); } Console.ReadLine();

显示是

图六
★★★★★★★★★
 ★★★★★★★
  ★★★★★
   ★★★
    ★

思路是 先空白处   在计算星星    每行的星星10-2*行数+1

  for (int i = 1; i <= 5; i++) { for(int j=1;j<i;j++) {Console.Write("  ");} for (int k = 1; k <=10-2*i+1; k++) { Console.Write(""); } Console.WriteLine(); } Console.ReadLine();

显示是

图七

      ★
   ★★★
  ★★★★★
 ★★★★★★★
★★★★★★★★★
 ★★★★★★★
  ★★★★★
   ★★★
    ★

思路是  先打上半部分再打下半部分

for (int i = 1; i <= 9; i++)
            {
                if (i <= 5)
                {
                    for (int j = 1; j <= 5 - i; j++)
                    { Console.Write("  "); }
                    for (int k = 1; k <= 2 * i - 1; k++)
                    { Console.Write(""); }
                }                                                     上半部分的内容 else
                {
                    for (int j = 1; j <=i-5; j++)
                    { Console.Write("  "); }
                    for (int k = 1; k <=19-2*i; k++)
                    { Console.Write(""); }
                }                                                   下半部分的内容
                    Console.WriteLine();       
            }
            Console.ReadLine();

练习题:

请用户输入一个奇数,用奇数打出一个菱形

 

本身认真作一个

相关文章
相关标签/搜索