1 回答

TA貢獻1853條經(jīng)驗 獲得超6個贊
問題在于
nFactorial.Text = factorial.ToString();
您正在覆蓋每個循環(huán)迭代的 nFactorial。
你想要的(我假設(shè))是附加文本,所以你想做這樣的事情(格式化你想要的格式):
nFactorial.Text += factorial.ToString() + Environment.NewLine; // Environment.NewLine to display each value on a separate line, again format how you'd like
請注意,正如 Selman Gen? 所提到的,您需要使用long而不是int(更改Int32為 long):
long facOut, factorial, number;
long num = 20;
把它們放在一起:
private void nFactorial_Click(object sender, EventArgs e)
{
long facOut, factorial, number;
long num = 20;
factorial = num;
for (facOut = num - 1; facOut >= 1; facOut--)
{
factorial *= facOut;
nFactorial.Text += factorial.ToString() + Environment.NewLine;
}
}
編輯:好的,你正在向后循環(huán)。你需要向上而不是向下工作。試試這個:
private void nFactorial_Click(object sender, EventArgs e)
{
long facOut, factorial;
long num = 20;
factorial = 1;
for (facOut = 1; facOut <= num; facOut++)
{
factorial *= facOut;
tb.Text += factorial.ToString() + Environment.NewLine;
}
}
注意:如果要跳過1,請facOut = 2在for循環(huán)中設(shè)置。
- 1 回答
- 0 關(guān)注
- 166 瀏覽
添加回答
舉報