编写一个 Windows 窗体应用程序,单击“<产生”按钮,产生 n 个指定范围 内的随机数(假设输入合法),显示到左侧多行文本框中,单击“素数>>”按钮,在右侧多 行文本框中显示出其中的素数(允许重复)。
时间: 2024-02-22 11:58:02 浏览: 97
好的,我可以为您提供一个简单的 Windows 窗体应用程序的代码,实现您的需求。代码如下:
```csharp
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace RandomNumberGenerator
{
public partial class MainForm : Form
{
private List<int> numbers = new List<int>();
public MainForm()
{
InitializeComponent();
}
private void btnGenerate_Click(object sender, EventArgs e)
{
int n = int.Parse(txtNumberCount.Text);
int min = int.Parse(txtMin.Text);
int max = int.Parse(txtMax.Text);
Random rand = new Random();
numbers.Clear();
for (int i = 0; i < n; i++)
{
int num = rand.Next(min, max + 1);
numbers.Add(num);
}
UpdateNumberList();
}
private void UpdateNumberList()
{
StringBuilder sb = new StringBuilder();
foreach (int num in numbers)
{
sb.AppendLine(num.ToString());
}
txtNumberList.Text = sb.ToString();
}
private void btnFindPrimes_Click(object sender, EventArgs e)
{
List<int> primes = new List<int>();
foreach (int num in numbers)
{
if (IsPrime(num))
{
primes.Add(num);
}
}
UpdatePrimeList(primes);
}
private void UpdatePrimeList(List<int> primes)
{
StringBuilder sb = new StringBuilder();
foreach (int prime in primes)
{
sb.AppendLine(prime.ToString());
}
txtPrimeList.Text = sb.ToString();
}
private bool IsPrime(int num)
{
if (num < 2)
{
return false;
}
for (int i = 2; i <= Math.Sqrt(num); i++)
{
if (num % i == 0)
{
return false;
}
}
return true;
}
}
}
```
这个应用程序有三个文本框和两个按钮。用户可以输入要生成的随机数的数量、随机数的最小值和最大值。单击“产生”按钮将生成指定数量的随机数,并在左侧多行文本框中显示它们。单击“素数>>”按钮将在生成的随机数中找到所有素数,并在右侧多行文本框中显示它们。
希望这可以帮助您实现您所需的应用程序。
阅读全文