“显示三角形”C#课本练习简介

时间:2015-03-10 18:04:40

标签: c# for-loop

我发现:谈到逻辑,我是一个愚蠢的人。 Here's an imgur upload of problem I am ridiculously stuck on.

我没有围绕解决方案的逻辑。我看到我打算使用For循环来显示以1开头并以10结尾的星号行(至少是第一部分),但是我没有得到如何增加字符串输出本身。

我有一个想法是创建一个变量,其中循环的值乘以字符串,希望它显示loopCounter * asteriskString,但这是不可能的。

感谢任何帮助。我的逻辑技能需要工作。

1 个答案:

答案 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--;
        }
    }
 }    
}