使用嵌套的for循环

时间:2012-07-25 04:13:50

标签: c# for-loop

我正在尝试使用for循环。

如果输入为3,则结果为:

1**
*2*
**3

所以我使用了这段代码

void button1_Click(object sender, EventArgs e) {
    string message = " ";
    int value = numericUpDown1.Value;
    for(int count = 0; count < value; count++) {
        for(int m = -2; m < value; m++) {
            message += "*";
        }
        message += "\r\n";
    }
    MessageBox.Show(message);
}

我使用了两个for循环,但我无法修复它来显示数字, 但它给了我

***
***
***

2 个答案:

答案 0 :(得分:3)

int digitCount = 3;
string message = " ";
for (int round = 1; round <= digitCount; round++)
{
    for (int digit = 1; digit <= digitCount; digit++)
    {
        if (digit == round)
        {
            message += digit;
        }
        else
        {
            message += "*";
        }
    }

    message += "\r\n";
}

答案 1 :(得分:1)

private string StarNumbers(int input)
    {
        var range = Enumerable.Range(1, input);
        var sb = new StringBuilder(input*input);
        foreach (var number in range)
        {
            var line = String.Format("{0}{1}{2}", new string('*', number - 1), number, new string('*', input - number));
            sb.AppendLine(line);
        }
        return sb.ToString();
    }

修改

此输入代码= 500:2ms

(输入1 000为5毫秒)

代码使用+ =字符串连接输入= 500:33 468ms(它只是垃圾回收)

(运行它几分钟输入1000但仍然没有)