C# 随机生成 1000 个 1 到 5 之间的正整数并统计频次
using System;
namespace RandomNumberGenerator
{
class Program
{
static void Main(string[] args)
{
int[] frequency = new int[5]; // 用于记录每个数值出现的频次
Random random = new Random(); // 随机数生成器
int count = 1000; // 生成的随机数数量
int percent = 0; // 生成进度百分比
Console.WriteLine('正在生成随机数,请稍等...');
for (int i = 0; i < count; i++)
{
int number = random.Next(1, 6); // 生成 1 到 5 之间的随机数
frequency[number - 1]++; // 对应数值出现的频次加 1
int newPercent = (int)((i + 1) * 100.0 / count); // 计算生成进度百分比
if (newPercent != percent) // 只在进度百分比变化时输出
{
percent = newPercent;
Console.WriteLine('已生成 {0}%...', percent);
}
}
Console.WriteLine('随机数生成完毕,各个数值出现的频次如下:');
for (int i = 0; i < 5; i++)
{
Console.WriteLine('{0} 出现了 {1} 次', i + 1, frequency[i]);
}
Console.ReadKey();
}
}
}
本代码使用 C# 语言实现随机生成 1000 个 1 到 5 之间的正整数,并统计每个数值出现的频次。代码中包含进度条显示,方便用户了解生成进度。
代码说明:
frequency数组用于记录每个数值出现的频次,数组长度为 5,对应 1 到 5 的每个数值。random对象用于生成随机数。count变量定义了要生成的随机数数量为 1000。percent变量记录生成进度百分比,初始值为 0。- 循环遍历 1000 次,每次生成一个 1 到 5 之间的随机数,并将对应数值出现的频次加 1。
- 在每次循环结束后,计算生成进度百分比,并在百分比变化时输出当前进度。
- 最后输出每个数值出现的频次。
代码使用:
- 将代码复制到一个 C# 文件中。
- 使用 Visual Studio 或其他 C# 开发环境编译并运行代码。
- 在控制台窗口中,可以观察到生成进度和最终的频次统计结果。
注意事项:
- 代码中使用了
Console.ReadKey()方法,用于在程序结束后暂停控制台窗口,方便查看输出结果。 - 随机数生成器
Random需要在使用之前进行初始化,否则每次生成的随机数都是一样的。 - 进度条的实现方式可以根据需要进行调整,例如使用图形界面或其他方法。
扩展:
- 可以修改代码中的
count变量,生成不同数量的随机数。 - 可以修改代码中的随机数生成范围,例如生成 1 到 10 之间的随机数。
- 可以使用其他方法统计频次,例如使用字典或其他数据结构。
希望以上解释能够帮助您理解代码并进行修改。如果您还有其他问题,请随时提出。
更多相关资源:
- C# 文档:https://docs.microsoft.com/en-us/dotnet/csharp/
- 随机数生成:https://docs.microsoft.com/en-us/dotnet/api/system.random?view=net-5.0
原文地址: https://www.cveoy.top/t/topic/mRiI 著作权归作者所有。请勿转载和采集!