抛硬币c++循环
Coin Flip C++ Loop
我正在尝试用c++制作一个硬币投掷器。它的重点是让硬币"抛"100次,并显示正面或反面的次数。
例如:"硬币已经被抛了100次。正面= 68反面= 32
下面是目前为止的代码:#include <iostream>
#include <random>
int main()
{
using namespace std;
random_device rd;
default_random_engine random(rd());
uniform_int_distribution<int> uniform_dist(1, 2);
int coin;
int heads = 0;
int tails = 0;
coin = uniform_dist(random);
cout << "I will flip this coin 100 times.";
cout << "I will then print the results.";
while (coin != 100)
我怎样才能把硬币"抛"100次,我怎样才能为硬币制造一个循环?
不需要循环。您需要的是从二项分布中抽取的随机数:
std::binomial_distribution<int> distribution(100,0.5);
int heads = distribution(random);
int tails = 100 - heads;
详情请参阅http://www.cplusplus.com/reference/random/binomial_distribution/和http://en.wikipedia.org/wiki/Binomial_distribution
我不知道为什么循环对你来说很难,但这应该可以工作。
for ( int count = 0; count != 100; ++count )
{
int coin = uniform_dist(random);
if ( coin == 1 )
{
++heads;
}
else
{
++tails;
}
}
相关文章:
- 如何循环打印顶点结构
- 如何在C++中从两个单独的for循环中添加两个数组
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 正在尝试了解输入验证循环
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 循环后如何继续阅读
- Ardunio UNO解决了多个重叠的定时器循环
- Eigen如何在容器循环中干净地附加矩阵
- 在某些循环内使用vector.push_back时出现分段错误
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- 为什么我的for循环不能正确获取argv
- 如何声明特征矩阵,然后通过嵌套循环初始化它
- while循环中while循环的时间复杂度是多少
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- 为什么在这个代码结束循环中没有得到结束
- 在基于范围的for循环中使用结构化绑定声明
- 用于C++中带有数组和指针的循环
- 循环中的随机函数
- 是什么阻止DOMTimerCoordinator::NextID进入无休止的循环
- 在循环C++中指定字符串之后,不会打印该字符串