在C#中计算因子 - 没有错误,但不起作用?

时间:2013-10-07 00:04:50

标签: c# visual-studio-2010

我有一个简单的程序,可以计算输入数字的阶乘。它说我没有错误,但是当我运行程序时它停止并且不起作用。有人可以告诉我为什么吗?

    private void getFactorial_Click(object sender, EventArgs e)
    {
        int userNumber, numberFactorial = 1;

        userNumber = int.Parse(numberInput.Text);
        if (userNumber <= 0)
        {
            numberOutput.Text = numberFactorial.ToString();
        }
        else
        {
            for (int i = 1; 1 <= userNumber; i++)
            {
                numberFactorial = numberFactorial * i;
                numberOutput.Text = numberFactorial.ToString();
            }
        }
    }
}

}

2 个答案:

答案 0 :(得分:4)

这总是让我们感到很简单的事情。

在你的循环中你有这个:

for (int i = 1; 1 <= userNumber; i++)

我相信你的意思是:

for (int i = 1; i <= userNumber; i++)

在循环的条件部分,您使用了'1'而不是'i'。

答案 1 :(得分:3)

您的for循环的条件已关闭。我想你想要i <= userNumber

for (int i = 1; i <= userNumber; i++)