c# - 如何在控制台中绘制(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();
}
}
}
解决方案
有两个 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");
}
推荐阅读
- plot - Plotly R sankey plot - 在单个悬停标签上隐藏值
- c - 创建现代 OpenGL 上下文是否需要假上下文?
- javascript - 谷歌分析(不带标签管理器),发送带有哈希 URL 和 AJAX 的页面视图,SPA 类型的网络应用程序
- python - 从两个相同长度的列表中按顺序培育新的子列表,没有重复和随机索引分裂
- javascript - 如何告诉 Javascript 过滤对象数组
- gatling - 记录完成场景执行所花费的时间
- r - R 中的 blsAPI 仅显示当前年份
- r - 如何将列表写入数据。桌子?
- c# - 查询同一班次内的数据个数
- ocaml - OCaml 中的逻辑回归