题目要求:从textBox中读取n,然后从另一个TextBox这样输出:n!=n*(n-1)*(n-2).....*1=(结果)。
问题是从另一个textBox输出时是怎么实现。比如:输入5.输出:5!=%*4*3*2*1=120;
怎么在另一个TextBox中输出呢?用for循环?每次给textBox2赋值都会覆盖掉前面的内容。。怎么办。刚接触。。没办法。。

解决方案 »

  1.   

    textBox2.Text=L"";
    int m=1;
    for(i=n;i>1;i--)
    {
       textBox2.Text+=i+"*";
       m*=i;
    }
    textBox2.Text+="1="+m;
      

  2.   

    textBox2.Text=L""+n+"!=";
    int m=1;
    for(i=n;i>1;i--)
    {
      textBox2.Text+=i+"*";
      m*=i;
    }
    textBox2.Text+="1="+m;
      

  3.   

    感谢xyzflying  !~!~
    解决了。。
    就是还有点困惑是:后面再给textBox赋值时为什么不会覆盖掉前面的内容了?还有人建议我用listBox。。
    它和textBox有什么主要的区别呢???
      

  4.   

    ListBox:
    listbox1.Items.Add(L"" + n + "!=";
    int m = 1;
    for (i = n; i > 1; i--)
    {
        listbox1.Items.Add(i + "*");
        m *= i;
    }
    listbox1.Items.Add("1 = " + m);
      

  5.   

    先循环,最后把值付给textBox2
    StringBuilder str;//当在一个循环中将许多字符串连接在一起时,使用StringBuilder类可以提升性能。
    int j=1;
    for(i=n;i>=1;i--)
    {
      str+=i.Tostring;
      if(i>1)
      {
          str+="*";
       } 
      j*=i;
    }
    textBox2.Text+="n!="+str.Tostring()+"="+j.Tostring();