#include <iostream>
#include <stdlib.h>
#include <ctime>
int main() {
// Create a number that's 0 or 1
srand (time(NULL));
int coin = rand() % 3;
// If number is 0: Heads
// If it is not 0: Tails
if (coin == 0) {
std::cout << "Heads\n";
}
else {
std::cout << "Tails\n";
}
}这是否意味着有1/2的机会?有人可以向我彻底解释一下。----> int coin = rand()%2;如果我将其更改为int coin = rand()%3,该怎么办?这到底是什么意思。有人可以用其他示例向我解释一下。
简单来说,%运算符将随机数缩放到所需范围内。
例如,如果您以rand()%3的形式编写,那么此行的输出将仅为0、1或2。 (尝试将任何特定值替换为rand())
[对于您的程序,您想要一个HEADS或TAILS,即两个可能的结果。通过在rand()%3语句中放入2而不是3,变量'coin'只能具有两个可能的值,即0或1
尝试使用此代码:
#include<iostream>
#include<stdlib.h>
#include<ctime>
int main()
{
srand (time(NULL));
int rnd = rand();
int coin = rnd % 2;
std::cout<<"The value of coin is: "<<coin<<'\n';
return 0;
}
您会发现,该程序将只打印以下之一:
我希望你得到答案,胡安。