C++随机数函数复习

与随机数相关的函数

函数一:int rand(void)

srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX0x7fff)间的随机整数。

函数二:void srand(unsigned seed)

参数seedrand()的种子,用来初始化rand()的起始值。srand((unsigned int)time(0)).



生成0到n-1之间的随机数

//0到n-1的随机数
int random(int n)
{
	if(n==0)
		return 0;
	return rand()%n;
}


生成a到b之间的随机数

//a到b之间的随机数
int random(int a,int b)
{
	int area=b-a+1;
	return (int)(area*rand()/(1.0*RAND_MAX)+a);
}


生成n个0到n-1的不重复的随机数(或者)无序输出有序的0到n-1的数组

//乱序输出不重复的0到n-1之间的数
void Random(int n)
{
	int* a =new int[n];
	for(int i=0;i<n;i++)
	{
		a[i]=i;
	}

	for(int i=n-1;i>1;i--)
	{
		int index=random(i-1);
		int temp=a[index];
		a[index]=a[i];
		a[i]=temp;
	}

	for(int i=0;i<n;i++)
	{
		cout<<a[i]<<endl;
	}
}


自己对C++的随机数的使用还很不熟悉,以此作为笔记,或许继续补充抓狂

转载于:https://www.cnblogs.com/leestar/archive/2012/09/26/2810611.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值