(一)rand函数
C头文件:
C++头文件:< cstdlib >
rand函数原型:
int rand(void);
作用:返回介于 0 和 RAND_ MAX 之间的随机整数。
RAND_MAX 是一个宏,C语言标准规定 RAND_MAX 的值至少为 32767。
(二)srand函数
C头文件:
C++头文件:< cstdlib >
srand函数原型:
void srand(unsigned seed);
作用:设置rand()产生随机数时的随机数种子。
如果不设置随机数种子,rand函数使用默认随机数种子1,导致每次生成的随机数都相同。
(三)time函数
C头文件:
C++头文件:< ctime >
time函数原型:
time_t time(time_t *t);
作用:返回从公元19700101 00:00:00 到现在所经过的秒数,单位是秒。
(四)生成随机数
(1)生成0到99之间的随机整数
srand((unsigned)time(NULL));
int num = rand() % 100;
(2)生成1到100之间的随机整数
srand((unsigned)time(NULL));
int num = rand() % 100 + 1;
(五)不使用srand()函数
#include
#include
#include
int main(int argc, char* argv[]) {//srand((unsigned)time(NULL));for (int i = 0; i < 10; ++i) {std::cout << rand() % 10 << std::endl;}return 0;
}
多次运行程序,生成的随机数相同
./out
3
6
7
5
3
5
6
2
9
1
./out
3
6
7
5
3
5
6
2
9
1
(六)使用srand()函数
#include
#include
#include
int main(int argc, char* argv[]) {srand((unsigned)time(NULL));for (int i = 0; i < 10; ++i) {std::cout << rand() % 10 << std::endl;}return 0;
}
多次运行程序,生成的随机数不同
./out
1
7
6
3
8
8
7
4
9
8
./out
0
0
5
7
2
9
7
1
1
3