C# 编写一个窗体程序s=n!,求n,使得s不超过50000,分别用while、do..while以及for循环实现
时间: 2024-09-23 16:02:24 浏览: 55
C#实例程序-30套-程序源码合集.zip
在C#中,编写一个窗体程序(Form Application)来计算阶乘`n!`,直到结果小于等于50000。这里分别使用while、do...while以及for循环来实现这个功能:
**1. 使用while循环:**
```csharp
using System;
namespace FactorialApp
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void buttonCalculate_Click(object sender, EventArgs e)
{
int n = Convert.ToInt32(textBoxNumber.Text);
long factorial = 1;
while (factorial <= 50000 && factorial < n * 1L)
{
factorial *= n--;
}
textBoxResult.Text = factorial.ToString();
}
}
}
```
**2. 使用do...while循环:**
```csharp
private void buttonCalculate_Click(object sender, EventArgs e)
{
int n = Convert.ToInt32(textBoxNumber.Text);
long factorial = 1;
do
{
if (factorial > 50000 || factorial >= n * 1L)
{
break;
}
factorial *= n--;
} while (true);
textBoxResult.Text = factorial.ToString();
}
```
**3. 使用for循环:**
```csharp
private void buttonCalculate_Click(object sender, EventArgs e)
{
int n = Convert.ToInt32(textBoxNumber.Text);
long factorial = 1;
for (long i = n; i > 0 && factorial <= 50000; i--)
{
factorial *= i;
}
textBoxResult.Text = factorial.ToString();
}
```
在这三个示例中,用户需要在文本框`textBoxNumber`输入一个整数`n`,然后点击按钮`buttonCalculate`触发计算。结果显示在`textBoxResult`中。
阅读全文