亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將循環打印到 WINdows 表單中的單個標簽控件

將循環打印到 WINdows 表單中的單個標簽控件

PHP
牛魔王的故事 2022-01-09 10:01:58
如何使用 for 循環從 1-20 打印每個階乘?輸出應該是 Windows 窗體應用程序中的相同標簽。我嘗試使用它,但沒有得到我想要的(垂直打印從 1 到 20 的所有階乘,即 (2,6,24,) ),而是看到 -2102162736 的值private void nFactorial_Click(object sender, EventArgs e){   long facOut, factorial;   long num = 20;   factorial = num;   for (facOut = num - 1; facOut >= 1; facOut--)   {       factorial *= facOut;                nFactorial.Text += factorial.ToString();     }}
查看完整描述

1 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

問題在于


nFactorial.Text = factorial.ToString(); 

您正在覆蓋每個循環迭代的 nFactorial。


你想要的(我假設)是附加文本,所以你想做這樣的事情(格式化你想要的格式):


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;  

    }

}

編輯:好的,你正在向后循環。你需要向上而不是向下工作。試試這個:


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循環中設置。


查看完整回答
反對 回復 2022-01-09
  • 1 回答
  • 0 關注
  • 175 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號