1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > c语言产生随机数的函数

c语言产生随机数的函数

时间:2023-02-10 05:40:40

相关推荐

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;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。