如何找到一系列随机数的频率

How to find the frequency of a range of random numbers?

本文关键字:频率 随机数 一系列 何找      更新时间:2023-10-16

我是c++的初学者,我正试图从100个数字的随机数生成器中找到数字(1-6)的频率。我只能使用rand、srand、cin、cout、loops和if-else命令。是否可以只使用这些命令创建一个显示频率的程序?非常感谢。

您可以使用std::map<int, int>,其中first是随机数,second是计数。

因此,频率将是计数/总数。

考虑给您的每个命令的功能:

srand(int):对随机数生成器进行种子处理;你可以给它一个简单的数字(比如0、1或7),这样每次运行代码时,你的随机数生成器都会有相同的输出(这有助于检查你的进度。如果每次都得到不同的输入,很难判断你是否朝着正确的方向前进)

rand():为您生成一个介于0和rand_MAX之间的随机数。要生成某个范围内的数字,请看看这个线程(modulus和rand()是如何工作的?)。

cin:读取用户的输入。

cout:输出到控制台(例如cout<<"string";将向控制台输出单词"string")

循环:while和for的两个主要循环。而循环只进行到满足某个条件为止;for循环允许您创建一个临时变量、检查一个条件和增加一个变量。提示:当您确切地知道要运行多少次迭代时,for循环会更好。

if/else:允许您检查给定的条件,如果该条件为true,则执行一个代码块,如果为false,则转到另一个代码段(从else)。请注意,您还可以建立else-if's(即,如果(条件){//code}else-if(条件){//code})。

现在回过头来看这个问题,我们需要什么来解决这个问题?1.一种生成随机数(rand)的方法2.一种控制我们生成多少数字的方法(循环)3.一种检查我们生成的数字是否是某个数字的方法(if/else)4.一种存储每个数字(变量)的频率的方法5.将我们的发现输出到屏幕(cout)的方法

我希望我没有透露太多——从这里开始,你可以在整个程序中形成逻辑的确切规范(即,定义什么变量,如何执行循环,使用什么if/else,以及如何输出和输出什么)。