• C# for循环的嵌套 作用域


    for()

    {   循环体可以套无数个for循环

    }

    比如:for()

    {

         for()

        {

             for()

             {... ...这里面可以镶嵌无数个for循环}

         }

    }

    也可以这样

     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();

    练习题:

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

    自己认真做一个

  • 相关阅读:
    2019春季第五周作业
    2019春第四周作业(基础题)计算机
    2019第三周作业
    第二周基础作业
    2019春第九周作业
    2019年春第八周作业
    第七周总结
    第六周作业
    2019春第五周作业
    2019年春季学期第四周作业
  • 原文地址:https://www.cnblogs.com/zhangwei99com/p/6501866.html
Copyright © 2020-2023  润新知