概述
C++实现随机数生成
文章目录
- C++实现随机数生成
- 1. 包含文件
- 2. 相关函数
- 3. 示例代码
1. 包含文件
实现随机数需要<cstdlib>
实现随机数种子需要<ctime>
,即利用系统时间生成随机数种子
其他文件:
实现输入输出流,需要<iostream>
实现格式化输出,需要<iomanip>
2. 相关函数
rand()
函数:生成一个伪随机数
srand((int)time(NULL))
或srand((int)time(0))
:利用系统时间生成随机数种子
生成[a,b)范围的随机数:(rand()%(b-a))+a
生成[a,b]范围的随机数:(rand()%(b-a+1))+a
生成(a,b]范围的随机数:(rand()%(b-a))+a+1
生成0-1范围的浮点数:rand()/double(RAND_MAX)
RAND_MAX
是一个大数,一般是0x7fff
3. 示例代码
#include <iostream>
#include <cstdlib>
#include <iomanip>
#include <ctime>
using namespace std;
void test1()
{
cout << "生成[0, 100)的随机数(伪随机数):" << endl;
for (int i = 0; i < 10; i++)
{
cout << rand() % 100 << " ";
}
cout << endl;
}
void test2()
{
cout << "生成[0, 100)的随机数(利用系统时间生成随机数种子):" << endl;
srand((int)time(NULL));
for (int i = 0; i < 10; i++)
{
cout << rand() % 100 << " ";
}
cout << endl;
}
#define random1(x) rand()%(x)
void test3()
{
cout << "生成[0, 100)的随机数:" << endl;
srand((int)time(NULL));
for (int i = 0; i < 10; i++)
{
cout << random1(100) << " ";
}
cout << endl;
}
#define random2(a,b) (rand()%(b-a)) + a
void test4()
{
cout << "生成[a, b)的随机数: a = 5, b = 10" << endl;
srand((int)time(NULL));
for (int i = 0; i < 10; i++)
{
cout << random2(5, 10) << " ";
}
cout << endl;
}
#define random3(a,b) (rand()%(b-a+1)) + a
void test5()
{
cout << "生成[a, b]的随机数: a = 5, b = 10" << endl;
srand((int)time(NULL));
for (int i = 0; i < 10; i++)
{
cout << random3(5, 10) << " ";
}
cout << endl;
}
#define random4(a,b) (rand()%(b-a)) + a + 1
void test6()
{
cout << "生成(a, b]的随机数: a = 5, b = 10" << endl;
srand((int)time(NULL));
for (int i = 0; i < 10; i++)
{
cout << random4(5, 10) << " ";
}
cout << endl;
}
#define random5() (rand() / double(RAND_MAX))
void test7()
{
cout << "生成0~1的随机浮点数:(保留四位小数)" << endl;
srand((int)time(NULL));
for (int i = 0; i < 10; i++)
{
cout << setiosflags(ios::fixed) << setprecision(4)<< random5() << " ";
}
cout << endl;
}
int main(int argc, char** argv)
{
test1();
test2();
test3();
test4();
test5();
test6();
test7();
system("pause");
}
最后
以上就是深情招牌为你收集整理的C++实现随机数生成C++实现随机数生成的全部内容,希望文章能够帮你解决C++实现随机数生成C++实现随机数生成所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复