重叠式C#方形图案印刷
当提供多个整数表示几个正方形的长度时,返回 字符串将表示共享左上角的多个正方形,每个正方形重叠 其他需要时 例如。 投入:3,5 输出: 我尝试了这段代码,但只输入了一次。我试图放置重叠式C#方形图案印刷,c#,C#,当提供多个整数表示几个正方形的长度时,返回 字符串将表示共享左上角的多个正方形,每个正方形重叠 其他需要时 例如。 投入:3,5 输出: 我尝试了这段代码,但只输入了一次。我试图放置控制台。SetCursorPosition但只打印第二个输入。我能知道我会错过什么吗 string[] edgesArr = edges.Split(','); foreach(string edge in edgesArr) { PrintSquare(Convert.ToInt32(edge)); }
控制台。SetCursorPosition
但只打印第二个输入。我能知道我会错过什么吗
string[] edgesArr = edges.Split(',');
foreach(string edge in edgesArr) {
PrintSquare(Convert.ToInt32(edge));
}
static void PrintSquare(int edges) {
Console.SetCursorPosition(0, 1);
for (int i = 0; i < edges; i++) {
for (int j = 0; j < edges; j++) {
if (i == 0 || i == edges-1 || j == 0 || j == edges-1) {
Console.Write('#');
} else {
Console.Write(' ');
}
}
Console.WriteLine();
}
}
string[]edgesArr=edges.Split(',');
foreach(边中的字符串边){
PrintSquare(转换为32(边缘));
}
静态void PrintSquare(int边){
控制台。设置光标位置(0,1);
对于(int i=0;i
您可以尝试按降序打印重叠页,先打印5页,然后打印3页,依此类推
int[]edgesArr=edges.Split(',).Select(s=>Convert.ToInt32(s));
Array.Sort(edgesArr);
阵列。反向(edgesArr);
foreach(边缘中的内部边缘)
{
打印正方形(边缘);
}
您可以尝试按降序打印重叠页,先打印5页,然后打印3页,依此类推
int[]edgesArr=edges.Split(',).Select(s=>Convert.ToInt32(s));
Array.Sort(edgesArr);
阵列。反向(edgesArr);
foreach(边缘中的内部边缘)
{
打印正方形(边缘);
}
“但只打印第二个输入”-因为“第二个”输入在第一个输入之后打印,因此覆盖了以前的值。是的,这就是为什么我认为设置光标位置不合适的原因。我在问方形打印代码中是否有符合要求的内容。实际上,您需要确定给定的位置应该是
还是空的。为此,您需要检查边,以确定是否需要在该位置绘制其中任何边。如果要执行控制台设置光标位置方法,则需要在移动光标时使用该方法,而不是打印空格。(但我不会,我会选择Llama的方法。)“但只打印第二个输入”-因为“第二个”输入在第一个输入之后打印,因此覆盖了以前的值。是的,这就是为什么我认为设置光标位置不合适的原因。我在问方形打印代码中是否有符合要求的内容。实际上,您需要确定给定的位置应该是
还是空的。为此,您需要检查边,以确定是否需要在该位置绘制其中任何边。如果要执行控制台设置光标位置方法,则需要在移动光标时使用该方法,而不是打印空格。(但我不会,我会支持骆驼的接近。)
string[] edgesArr = edges.Split(',');
foreach(string edge in edgesArr) {
PrintSquare(Convert.ToInt32(edge));
}
static void PrintSquare(int edges) {
Console.SetCursorPosition(0, 1);
for (int i = 0; i < edges; i++) {
for (int j = 0; j < edges; j++) {
if (i == 0 || i == edges-1 || j == 0 || j == edges-1) {
Console.Write('#');
} else {
Console.Write(' ');
}
}
Console.WriteLine();
}
}