c语言中的rand()函数

c语言中的rand()函数

rand函数调用

  • rand()函数每次调用前都会查询是否调用过srand(seed),是否给seed设定了一个值,如果有那么它会自动调用srand(seed)一次来初始化它的起始值

  • 若之前没有调用srand(seed),那么系统会自动给seed赋初始值,即srand(1)自动调用它一次

srand函数

    srand函数是随机数发生器的初始化函数,原型:

void srand(unsigned int seed);

  • 这个函数需要提供一个种子,如srand(1),用1来初始化种子

  • rand()产生随机数时,如果用srand(seed)播下种子之后,一旦种子相同(下面的getpid方法),产生的随机数将是相同的。当然很多时候刻意让rand()产生的随机数随机化,用时间作种子 srand(time(NULL)),这样每次运行程序的时间肯定是不相同的,产生的随机数肯定就不一样了。


产生10个[10,30]的随机数

#include <stdio.h>
#include <stdlib.h>          //包含产生随机数的库函数
#include <time.h>
#include <iostream>
using namespace std;


void randa(int x[],int n,int a,int b) { //产生n个[a,b]的随机数
	int i;
	for (i = 0; i < n;i++) {
		x[i] = rand() % (b - a + 1) + a;
	}
}
void main() {
	int i, n = 10, x[10];
	int b = 30, a = 10;
	srand((unsigned)time(NULL)); //随机种子
	//产生随机数
	for (i = 0; i < n; i++) {
		randa(x, n, a, b);
	}
	//输出
	for (i = 0; i < n;i++) {
		cout<< x[i]<<" ";
	}
	cout << endl;
	system("pause");
	
}

输出:

28 27 14 21 23 21 19 22 30 14
请按任意键继续. . .

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值