我发现:谈到逻辑,我是一个愚蠢的人。 Here's an imgur upload of problem I am ridiculously stuck on.
我没有围绕解决方案的逻辑。我看到我打算使用For循环来显示以1开头并以10结尾的星号行(至少是第一部分),但是我没有得到如何增加字符串输出本身。
我有一个想法是创建一个变量,其中循环的值乘以字符串,希望它显示loopCounter * asteriskString,但这是不可能的。
感谢任何帮助。我的逻辑技能需要工作。
答案 0 :(得分:0)
可能不是最干净的解决方案,但这会得到你的结果。仔细阅读并弄清楚如何使其更好。
using System;
namespace ConsoleApplication1
{
class Program
{
static int triangles = 4;
static int lines = 10;
static void Main(string[] args)
{
for (int i = 1; i <= triangles; i++)
{
if (i==1||i==4)
{
for (int j = 1; j <= lines; j++)
writeAstrix(i, j);
}
else
{
for (int j = lines; j > 0; j--)
writeAstrix(i, j);
}
Console.WriteLine();
}
Console.ReadLine();
}
private static void writeAstrix(int i, int j)
{
if (i == 3||i==4)
makeSpacers(j);
while (j > 0)
{
Console.Write('*');
j--;
}
Console.WriteLine();
}
private static void makeSpacers(int iterate)
{
int spacers = lines - iterate;
while (spacers > 0)
{
Console.Write(' ');
spacers--;
}
}
}
}