我在哪里可以找到控制台应用程序设计的C#代码。例如,明星金字塔

时间:2009-08-19 08:21:55

标签: c# c++

我想知道是否有一个网站为我的控制台应用程序提供代码星设计。例如,我想要一个可以使用for循环输出金字塔的代码:

    *
   ***
  *****
*********

或者可以使用for循环输出半衰期徽标的代码。 代码的创建位置并不重要,只要我能理解for循环就可以了。

6 个答案:

答案 0 :(得分:2)

using System;
using System.Collections.Generic;
using System.Text;

namespace Pyramid
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Console.Write("Enter the Height of the Pyramid: ");
                int n = Convert.ToInt32(Console.ReadLine());
                for (int i = 1; i <= n; i++)
                {
                    for (int j = n; j >= i; j--)
                    {
                        Console.Write(" ");
                    }
                    for (int k = 1; k <= i; k++)
                    {
                        Console.Write("*");
                    }
                    for (int m = 2; m <= i; m++)
                    {
                        Console.Write("*");
                    }
                    Console.WriteLine();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            } Console.Read();
        }
    }
}

答案 1 :(得分:1)

int height = 5;

for (int count = 1; count <= height; count++)
    Console.WriteLine(new String('*', count * 2 - 1).PadLeft(height + count));

答案 2 :(得分:1)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PyramidUsingForLoops
{
    class StarPyramid
    {
        static void Main(string[] args)
        {
            int Row = 5;
            for (int i = 0; i < Row; i++)
            {
                for (int j = 0; j < Row-(i+1); j++)
                {
                    Console.Write(" ");
                }
                for (int k = 0; k < 2*i+1; k++)
                {
                     Console.Write("*");
                }
                Console.WriteLine();

            }
            Console.ReadLine();
        }
    }
}

答案 3 :(得分:1)

namespace Program
{
    class Program
    {
        static void Main(string[] args)
        {
            // print triangle
            int n = 5;
            /* three phrase: 
             * first: find first location of the line
             * second: print increasing
             * third: print decreasing */
            int k=n;
            for (int i = 0; i <n; i++)  //print n line
            {
                //  first
                for (int j = 1; j <= k; j++) Console.Write(" ");
                // second
                for (int j = 1; j <= i; j++) Console.Write(j);
                // third
                for (int j = i + 1; j >= 1; j--) Console.Write(j);
                k--;
                Console.WriteLine();
            }

        }
    }
}

答案 4 :(得分:0)

int rowCount = 5;
for (int i = 0; i < rowCount; i++)
{
    Console.Write(new string(' ', rowCount - i - 1));
    Console.Write(new string('*', 2 * i + 1));
    Console.WriteLine();
}

答案 5 :(得分:0)

关于你对这个问题的评论:你说的是你可以用你想要发现的for循环做一些“复杂的东西”。我不得不说:你似乎走错了路。 for - 循环始终具有相同的简单结构:

for (Type variable = startvalue; condition; action)
{
    // Do stuff
}

“复杂”的东西有时会找出什么条件或采取什么行动。 condition可能任何评估为boolean,而action可能也是

所以“复杂”的东西与for - 循环本身的结构无关。您还可以编写以下内容:

for (int i = 0; DateTime.Now < new DateTime(2009, 12, 31); i++)
{
    Console.WriteLine("I've iterated {0} times before 31st December 2009!", i);
}

条件甚至不考虑i变量,但它仍然是有效的for - 循环。