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 之间的正整数,并统计每个数值出现的频次。代码中包含进度条显示,方便用户了解生成进度。

代码说明:

  1. frequency 数组用于记录每个数值出现的频次,数组长度为 5,对应 1 到 5 的每个数值。
  2. random 对象用于生成随机数。
  3. count 变量定义了要生成的随机数数量为 1000。
  4. percent 变量记录生成进度百分比,初始值为 0。
  5. 循环遍历 1000 次,每次生成一个 1 到 5 之间的随机数,并将对应数值出现的频次加 1。
  6. 在每次循环结束后,计算生成进度百分比,并在百分比变化时输出当前进度。
  7. 最后输出每个数值出现的频次。

代码使用:

  1. 将代码复制到一个 C# 文件中。
  2. 使用 Visual Studio 或其他 C# 开发环境编译并运行代码。
  3. 在控制台窗口中,可以观察到生成进度和最终的频次统计结果。

注意事项:

  1. 代码中使用了 Console.ReadKey() 方法,用于在程序结束后暂停控制台窗口,方便查看输出结果。
  2. 随机数生成器 Random 需要在使用之前进行初始化,否则每次生成的随机数都是一样的。
  3. 进度条的实现方式可以根据需要进行调整,例如使用图形界面或其他方法。

扩展:

  1. 可以修改代码中的 count 变量,生成不同数量的随机数。
  2. 可以修改代码中的随机数生成范围,例如生成 1 到 10 之间的随机数。
  3. 可以使用其他方法统计频次,例如使用字典或其他数据结构。

希望以上解释能够帮助您理解代码并进行修改。如果您还有其他问题,请随时提出。

更多相关资源:

  • 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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录