Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用simple for循环打印星星钻石_C#_Loops - Fatal编程技术网

C# 使用simple for循环打印星星钻石

C# 使用simple for循环打印星星钻石,c#,loops,C#,Loops,所需输出为: ****** ** ** * * ** ** ****** 我编写了以下代码来实现它: int n = 5; for (int i = n; i >= 1; i--) { for (int j =n-1; j >= n-i; j--) { if ((i == j && j > i) || (j == i && i > j)) Console.Write("*

所需输出为:

******
**  **
*    *
**  **
******
我编写了以下代码来实现它:

int n = 5;

for (int i = n; i >= 1; i--)
{
    for (int j =n-1; j >= n-i; j--)
    {
        if ((i == j && j > i) || (j == i && i > j))
            Console.Write("*");
        else
            Console.Write("3");
    }
    Console.WriteLine();
}

for (int i = n; i >= 1; i--)
{
    for (int j =  i; j <= n; j++)
    {
        if ((i == j && j > i) || (j == i && i > j))
            Console.Write("*");
        else
            Console.Write("3");
    }
    Console.WriteLine();
}

Console.ReadLine();

我如何修改我的代码来打印一颗星星的钻石呢?

你不能用一种简单的方法吗

Console.Writeline("******");
Console.Writeline("**  **");
Console.Writeline("*    *");
Console.Writeline("**  **");
Console.Writeline("******");
试试这个:

int number = 5;
for (int i = 0; i < number; i++)
{
    var starsCount = 1 + Math.Abs(Math.Floor(number / 2.0) - i);
    var spacesCount = 1 + Math.Floor(number / 2.0) - starsCount;
    var output = "";

    for (int j = 0; j < starsCount; j++)
        output += "*";
    for (int k = 0; k < spacesCount; k++)
        output += "  ";
    for (int m = 0; m < starsCount; m++)
        output += "*";

    Console.WriteLine(output);
}
int number=5;
for(int i=0;i
**********************你知道
(i==j&&j>i)
总是错的吗?不,先生,我想用一些打印菱形的逻辑,然后你真的应该扩展你的问题并解释这个逻辑,很不清楚你期望什么?先生,很好,但是你能告诉我你是如何开始思考这个问题的吗?我使用了if-else条件,超过5天我试图解决这个问题,但我做不到,现在我的大学停课了,所以你可以分享任何我可以积累知识和加强逻辑的地方。这都是关于你如何分析问题,我将问题分为两个方面:左侧和右侧,并考虑到这一点构建了逻辑。这是无法教授的逻辑,是随着时间的推移而积累的经验,你解决的问题越多,你知道的就越多:)我用你的代码打印菱形,但这里是int number=10;对于(int i=0;iint number = 5; for (int i = 0; i < number; i++) { var starsCount = 1 + Math.Abs(Math.Floor(number / 2.0) - i); var spacesCount = 1 + Math.Floor(number / 2.0) - starsCount; var output = ""; for (int j = 0; j < starsCount; j++) output += "*"; for (int k = 0; k < spacesCount; k++) output += " "; for (int m = 0; m < starsCount; m++) output += "*"; Console.WriteLine(output); }