在C#中使用for循环的三角形paramid

时间:2016-07-20 05:57:07

标签: c#

我不能在学校解决我的三角形程序,它正在通过这个程序打印单面曲线 使用系统;

namespace starpyramid
{ 
    class program 
    { 
        static void Main() 
        { 
            Console.Write("Height: "); 
            int i = int.Parse(Console.ReadLine());
            if(i>0)
            {
            goto main;
            }
            else
            {
                Main();
            }   

            main:
            Console.Write("\n");
            for (int h = 1; h<= i;h++) // main loop for the lines
            {
                for (int s = h; s <= i; s++) //for spaces before the stars
                {
                    Console.Write(" ");
                }
                for(int j=1; j<(h*2); j=j+2)
                {
                    Console.Write("*");
                }
            Console.Write("\n");
            }
    }   
    } 
}

但我需要通过使这个成为正确的三角形来修改它!

1 个答案:

答案 0 :(得分:-1)

这是一个解决方案:

public static void DrawPyramid(int Rows)
{
    string Pyramid = string.Empty;
    int n = Rows;
    for (int i = 0; i <= n; i++)
    {
        for (int j = i; j < n; j++)
        {
            Pyramid += " ";
        }
        for (int k = 0; k < 2 * i - 1; k++)
        {
            Pyramid += "*";
        }
        Pyramid += Environment.NewLine;
    }
    Pyramid.ConsoleWrite();
}

示例:

DrawPyramid(5);

//     *  
//    ***   
//   ***** 
//  *******
// *********