c语言产生随机数的函数

1.产生随机数
  (1)使用该函数首先应在开头包含 头文件stdlib.h

(2)在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。

(3)rand()函数没有输入参数,直接通过表达式rand()来引用;

(4)标准C并没有规定int整数的位数,int的位数由编译器定义,例如:
       TC编译器中int是16位的,unsigned int 也是16位的,既可以表示0——65535范围内的数;
       VC中int的是32位的,unsigned int 也是32位,0——2^32 -1
       所以 unsigned int rand()产生的随机数范围还是看编译器的环境而定。
 一个小例子:
#include<stdio.h>
#include<stdlib.h>
int main()
{int n=0;
 n=rand();
 printf("n=%d\n",n);
 system("pause");
 return 0;
 }
2.产生一定范围的随机数

要让随机数限定在一个范围,可以采用模除加加法的方式。 
要产生随机数r, 其范围为 m<=r<=n,可以使用如下公式:
  rand()%(n-m+1)+m 其原理为,对于任意数, 0<=rand()%(n-m+1)<=n-m
于是 0+m<=rand()%(n-m+1)+m<=n-m+m
m<=rand()%(n-m+1)+m<=n

3.产生可变化的随机数
srand()来设置种子

rand()来产生随机数

两个区别看我的博客

来个例子:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
//初始化二维数组
void init_pane()
{
	int i = 0, j = 0;
	for (i = 0; i<4; i++)
	{
		for (j = 0; j<4; j++)
		{
			pane[i][j] = 0;
		}
	}
	srand(time(NULL));
	i = rand() % 4;
	j = rand() % 4;
	if (i == 0 || i == 2)
	{
		pane[i][j] = 2;
	}
	else
	{
		pane[i][j] = 4;
	}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值