c#程序:随机产生100个1~6的整数,统计每个数出现的次数。修改程序,使之产生1000个1~6的随机数,并统计每个数出现的次数。比较不同的结果并给出结论
时间: 2024-10-21 21:06:51 浏览: 25
1_1. 产生100个随机数_求其最小值和最大值以及平均值_
5星 · 资源好评率100%
在C#中,你可以使用`Random`类和`Dictionary<TKey, TValue>`来生成随机数并统计它们的出现次数。首先,我们编写一个简单的方法来生成100个随机数并统计:
```csharp
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Random rand = new Random();
Dictionary<int, int> countDic = new Dictionary<int, int>();
for (int i = 0; i < 100; i++)
{
int randomNum = rand.Next(1, 7);
if (countDic.ContainsKey(randomNum))
countDic[randomNum]++;
else
countDic[randomNum] = 1;
}
foreach (KeyValuePair<int, int> pair in countDic)
{
Console.WriteLine($"数字 {pair.Key} 出现了 {pair.Value} 次");
}
}
}
```
接下来,我们将这个方法稍作修改,使其生成1000个随机数:
```csharp
// 修改部分
for (int i = 0; i < 1000; i++)
{
// 其他代码不变
}
```
运行这两个版本的程序,你会得到两个不同的`Dictionary`,一个包含100个随机数的统计数据,另一个包含1000个随机数的统计数据。
比较结果时,你会看到随着样本数量的增加(从100到1000),每个数字出现的次数更接近理论概率(即1/6)。这是因为更多的试验可以更好地反映概率分布。如果你发现某个数字出现的频率离1/6太远,那可能是由于随机性的偶然性导致的。
阅读全文