我正在尝试使用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循环,但我无法修复它来显示数字, 但它给了我
***
***
***
答案 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但仍然没有)