我是c ++的初学者,我试图从100个数字的随机数生成器中找到数字(1-6)的频率。我可以使用的唯一命令是rand,srand,cin,cout,loops,以及if else。是否可以使用这些命令创建显示频率的程序?谢谢。
答案 0 :(得分:0)
您可以使用std::map<int, int>
first
为随机数,second
为计数。
因此,频率将是计数/总数。
答案 1 :(得分:0)
考虑给你的每个命令的功能:
srand(int):种子随机数生成器;你可以给这个简单的数字(比如说0或1或7),这样你每次运行你的代码时,你的随机数生成器都会有相同的输出(很适合检查你的进度。很难说你是否会去如果你每次都得到不同的输入,那就是正确的方向)
rand():为您生成0到RAND_MAX之间的随机数。要生成特定范围内的数字,请查看此主题(How does modulus and rand() work?)。
cin:读取用户的输入。
cout:输出到控制台(例如cout&lt;&lt;“string”;将“word”输出到控制台)
循环:你和你的两个主循环。虽然循环仅在满足某个条件时才会出现; for循环允许您创建临时变量,检查条件并增加变量。提示:当您确切知道要运行的迭代次数时,for循环会更好。
if / else:允许您检查给定条件,如果该条件结果为真,则执行一个代码块;如果为false,则执行另一个代码块(来自else)。请注意,你也可以建立else if(即if(condition){// code} else if(condition){// code})。
现在回顾这个问题,我们需要解决这个问题? 1.一种生成随机数的方法(rand) 2.一种控制我们生成的数量的方法(循环) 3.检查我们生成的数字是否为特定数字的方法(if / else) 4.存储每个数字的频率量的方法(变量) 5.一种将我们的发现输出到屏幕(cout)的方法
我希望我没有放弃太多 - 从这里开始,你需要在整个程序中形成逻辑的确切规范(即,要定义哪些变量,如何执行循环,if / else是什么使用,以及如何和输出什么)。