C# 星辰广场

C# 星辰广场,c#,C#,但我想要这个: *** * *** sameone能帮我找到这个代码吗???类程序 *** **** * * * * *** or * * **** { 静态void Main(字符串[]参数) { var n=int.Parse(Console.ReadLine()); 对于(int row=1;rowclass程序 { 静态void Main(字符串[]参数) { var n=int.Parse(Console.ReadLine()

但我想要这个:

***
* 
***
sameone能帮我找到这个代码吗???

类程序
***       ****
* *       *  *
***   or  *  *
          ****
{ 静态void Main(字符串[]参数) { var n=int.Parse(Console.ReadLine()); 对于(int row=1;row
class程序
{
静态void Main(字符串[]参数)
{
var n=int.Parse(Console.ReadLine());

对于(int row=1;row您可以在第二个循环中更改控制台。WriteLine
,如下所示:

class Program
{
    static void Main(string[] args)
    {
        var n = int.Parse(Console.ReadLine());

        for (int row = 1; row <= n; row++)
        {
            for (int col = 1; col <= n; col++)
            {
                if (row == 1 || row == n)
                {
                    Console.Write("*");
                }
                else
                {
                    if (col == 1 || col == n)
                    {
                        Console.Write("*");
                    }
                    else
                    {
                        Console.Write(" ");
                    }
                }
            }
            Console.WriteLine();
        }

        Console.ReadKey();
    }
}
类程序
{
静态void Main(字符串[]参数)
{
var n=int.Parse(Console.ReadLine());
对于(int i=0;i
您可以更改
控制台。在第二个循环中写入线
,如下所示:

class Program
{
    static void Main(string[] args)
    {
        var n = int.Parse(Console.ReadLine());

        for (int row = 1; row <= n; row++)
        {
            for (int col = 1; col <= n; col++)
            {
                if (row == 1 || row == n)
                {
                    Console.Write("*");
                }
                else
                {
                    if (col == 1 || col == n)
                    {
                        Console.Write("*");
                    }
                    else
                    {
                        Console.Write(" ");
                    }
                }
            }
            Console.WriteLine();
        }

        Console.ReadKey();
    }
}
类程序
{
静态void Main(字符串[]参数)
{
var n=int.Parse(Console.ReadLine());
对于(int i=0;i
应执行以下操作:

class Program
{
    static void Main(string[] args)
    {
        var n = int.Parse(Console.ReadLine());

        for (int i = 0; i < n - 1; i++)
        {
            Console.Write("*");
        }
        for (int i = 0; i < n - 1; i++)
        {
            Console.WriteLine(i == 0 ? "*" : "*" + string.Empty.PadLeft(n - 2) + "*");

        }
        for (int i = 0; i < n; i++)
        {
            Console.Write("*");
        }
    }
}
对于
循环和
控制台,是否有一些不需要
就可以轻松处理的琐碎情况。编写
s等?是的,长度
0
1
似乎非常简单。如果我返回了负值的空方块,我也会对
0
大小的方块执行相同的操作。因此,我更改了以前的设置代码至:

if (squareSideLength < 0)
    return "";
这个故事的寓意是:首先要处理无效的数据或琐碎的案例。很多时候,琐碎的案例也可能是会使您的一般解决方案复杂化的角落案例,请尽快将它们排除在外

  • 好的,现在让我们想想正方形是什么样子:

     if (squareSideLength == 1)
        return c.ToString();
    
    这个模式看起来很明显。一个正方形由两行组成,其中包含指定数量的星星,
    0
    或更多行只包含两颗星星,并且
    squaresidentLength-2
    之间有空格。那么,它只有两种类型的行,让我们先构建它们:

     **
     **
    
     ***
     * *
     ***
    
     ****
     *  *
     *  *
     ****
    
  • 太好了!我们有了我们的积木,现在让我们来建造我们的广场:

    那么这是怎么回事呢?我们只需添加一个
    水平箭头
    ,然后添加
    平方边长-2
    水平箭头
    ,最后再添加一个
    水平箭头

    瞧,我们有了漂亮的小ASCII方块:

     var horizontalOuterRow  = new String(c, squareSideLength);
     var horizontalInnerRow = $"{c}{new string(' ', squareSideLength - 2)}{c}";
    
  • 希望这个小小的答案能帮助你


    记住,要编写好代码,把每件事都分解成很小的任务,一次处理一件。想想你是如何手工完成的,并以这种方式编写。一旦你的代码能够正常工作,你就有时间来看看你是否需要优化、重构等你的代码。但关键是让它尽可能清晰地与代码一起工作。

    以下内容uld do:

    class Program
    {
        static void Main(string[] args)
        {
            var n = int.Parse(Console.ReadLine());
    
            for (int i = 0; i < n - 1; i++)
            {
                Console.Write("*");
            }
            for (int i = 0; i < n - 1; i++)
            {
                Console.WriteLine(i == 0 ? "*" : "*" + string.Empty.PadLeft(n - 2) + "*");
    
            }
            for (int i = 0; i < n; i++)
            {
                Console.Write("*");
            }
        }
    }
    
    对于
    循环和
    控制台,是否有一些不需要
    就可以轻松处理的琐碎情况。编写
    s等?是的,长度
    0
    1
    似乎非常简单。如果我返回了负值的空方块,我也会对
    0
    大小的方块执行相同的操作。因此,我更改了以前的设置代码至:

    if (squareSideLength < 0)
        return "";
    
    这个故事的寓意是:首先要处理无效的数据或琐碎的案例。很多时候,琐碎的案例也可能是会使您的一般解决方案复杂化的角落案例,请尽快将它们排除在外

  • 好的,现在让我们想想正方形是什么样子:

     if (squareSideLength == 1)
        return c.ToString();
    
    这个模式看起来很明显。一个正方形由两行组成,其中包含指定数量的星星,
    0
    或更多行只包含两颗星星,并且
    squaresidentLength-2
    之间有空格。那么,它只有两种类型的行,让我们先构建它们:

     **
     **
    
     ***
     * *
     ***
    
     ****
     *  *
     *  *
     ****
    
  • 太好了!我们有了我们的积木,现在让我们来建造我们的广场:

    那么这是怎么回事呢?我们只需添加一个
    水平箭头
    ,然后添加
    平方边长-2
    水平箭头
    ,最后再添加一个
    水平箭头

    瞧,我们有了漂亮的小ASCII方块:

     var horizontalOuterRow  = new String(c, squareSideLength);
     var horizontalInnerRow = $"{c}{new string(' ', squareSideLength - 2)}{c}";
    
  • 希望这个小小的答案能帮助你

    记住,要编写好代码,就要把每件事都分解成非常小的任务,并一次处理一件。想想你会如何手工完成并以这种方式编写。一旦你的代码开始工作,你就有时间来看看你是否需要优化、重构等等。但是关键是让它尽可能清晰地与代码一起工作。

    你可以使用构造函数来创建重复字符的字符串。这使您可以简化代码以使用单个
    for
    循环:

    return squareBuilder.ToString();
    
    var n=int.Parse(Console.ReadLine());
    WriteLine(新字符串('*',n));
    对于(int i=0;i
    您可以使用构造函数创建重复字符的字符串。这使您可以简化代码以使用单个
    for
    循环:

    return squareBuilder.ToString();
    
    var n=int.Parse(Console.ReadLine());
    WriteLine(新字符串('*',n));
    对于(int i=0;i
    对于这样一个简单的问题有点过火了,但仍然很好地介绍了
    循环旁边的C元素的精彩解释和用法。很好done@GioraGuttsait谢谢;)是的,这太过分了,但这里的目标是向那些显然是j