首页 > 解决方案 > 如何在控制台中绘制(c#)

问题描述

最近在 IT 课上,我们获得了一个简单的控制台程序,该程序使用嵌套循环来绘制直角三角形。我真的不明白这段代码中发生了什么。有人可以解释它是如何工作的以及如何在控制台中创建其他形状吗?这是代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Task_4
{
    class nestedLoop
    {
        static void Main(string [] args)
        {
            int i, j;
            i = j = 0;
            for (i = 1; i <= 5; i++)
            {
                for (j = 1; j <= i; j++)
                {
                    Console.Write('*');
                }
                Console.Write("\n");
            }
            Console.ReadLine();
        }
    }
}

标签: c#consolenested-loops

解决方案


有两个 for 循环,每个循环都有一个变量 i 或 j 分配给它,它会增加一,直到达到其上限,(i <= 5) 或 (j <= i)。使用这个逻辑,第一个循环 i 是 1 所以 j 只是 1,然后我们再次循环,这次 i 是 2 所以 j 将运行两次,依此类推,下面是一个小例子

循环 1,i = 1 j = 1 *

循环 2,i = 2 j = 2 **

循环 3,i = 3 j = 3 ***

循环 4,i = 4 j = 4 ****

循环 5,i = 5 j = 5 *****

所以一旦我们画了星星,我们就得到了这个。

正方形

For(int i = 0; i < 5; i++)
{
   For(int j = 0; j < 5; i++)
      Console.Write("*");
}

高矩形

For(int i = 0; i < 10; i++)
{
   For(int j = 0; j < 5; i++)
      Console.Write("*");
   Console.Write("\n");
}

长方形

For(int i = 0; i < 5; i++)
{
   For(int j = 0; j < 10; i++)
      Console.Write("*");
   Console.Write("\n");
}

推荐阅读