C++实现产生随机数和相应的猜拳小游戏实例代码实现产生随机数和相应的猜拳小游戏实例代码
C++中没有自带的random函数,要实现随机数的生成就需要使用rand()和srand()。下面这篇文章主要给大家介绍
了关于C++实现产生随机数和相应的猜拳小游戏的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可
以参考下
一、简介一、简介
c++中,产生随机数的通用方法就是调用 srand()和 rand() 函数。
Rand
单纯的rand()会返回一个0至RAND_MAX之间的随机数值,而RAND_MAX的值与int位数有关,最小是32767。不过rand()是一
次性的,因为系统默认的随机数种子为1,只要随机数种子不变,其生成的随机数序列就不会改变。
其实,对于rand()的范围,我们是可以进行人为设定的,只需要在宏定义中定义一个random(int x)函数,就可以生成范围为0至x的
随机数值。当然,也可以定义为random(a,b) ,使其生成范围为a至b的随机数值。具体定义方法在通式部分。
Srand
srand()可用来设置rand()产生随机数时的随机数种子。通过设置不同的种子,我们可以获取不同的随机数序列。可以利
用srand((unsigned int)(time(NULL))的方法,利用系统时钟,产生不同的随机数种子。不过要调用time() ,需要加入头文件< ctime > 。
值得注意的是,所有程序中“产生”的随机数其实是伪随机数,本质是调用存储在计算机里的一组无序数值序列。
因此在初始化随机数种子时,如果初始化相同的种子数值,得到的“随机数”会是一样的数值。
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int i;
srand(1);
for (i = 0; i < 10; i++)
{
cout << rand() << " ";
}
}
第一次运行的结果。
第二次运行的结果,可以看出并不是真正意义上的随机数。
但是在运行同一次程序时,可以把这些数字看成是随机数。
二、产生随机数二、产生随机数
关键是调用 time 函数初始化随机数种子,达到种子随变。此时需要调用 <ctime>头文件。
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
int i;
srand((unsigned)time(NULL));
for (i = 0; i < 10; i++)
{
cout << rand() << " ";
}
return 0;
}
评论0
最新资源