随分

更新时间:2023-03-11 21:29:24 阅读: 评论:0

怎样使用灭火器-孔径符号

随分
2023年3月11日发(作者:荷塘月色读后感)

随机数与随机分组

在C语⾔中通常⽤srand()与rand()函数来去随机数;

在c语⾔⾥⾯,两个函数包含在头⽂件⾥⾯,c++⾥⾯,标准库(被包含于中).

srand函数是随机数发⽣器的初始化函数。

原型:voidsrand(unsigneded);

rand函数⽤来产⽣随机数,当然是伪随机数。

原型:intrand(void)

ed的作⽤:srand函数的作⽤是根据参数ed,设置⼀个随机起始点,⽽rand函数根据这个起始点,产⽣随机数序列。默认的随机种

⼦为1。如果随机种⼦⼀样,rand函数所产⽣的随机序列也⼀样。

因此,为使每次程序运⾏都能产⽣不同的随机序列,每次都应产⽣⼀个不同的种⼦参数。

说明:

因为rand的内部实现是⽤线性同余法做的,它不是真的随机数,只不过是因为其周期特别长,所以有⼀定的范围⾥可看成是随机

的,rand()会返回⼀随机数值,范围在0⾄RAND_MAX间。在调⽤此函数产⽣随机数前,必须先利⽤srand()设好随机数种⼦,如果未设

随机数种⼦,rand()在调⽤时会⾃动设随机数种⼦为1。rand()产⽣的是假随机数字,每次执⾏时是相同的。若要不同,以不同的值来初始化

它.初始化的函数就是srand()。

返回值:

返回0⾄RAND_MAX之间的随机整数值,RAND_MAX的范围最少是在32767之间(int),即双字节(16位数)。若⽤unsigned

int双字节是65535,四字节是4294967295的整数范围。

0~RAND_MAX每个数字被选中的机率是相同的。

技巧1:

若要产⽣指定范围内的随机整数例如[a,b)则可以使⽤:a+rand()%(b-a)表达式,也即为要产⽣[a,b)范围内的随机整数,可以使⽤

a+rand()%n表达式,其中a为起始值,n为随机整数取值范围的⼤⼩即为b-a

技巧2:

如要产⽣随机⼩数,直接将产⽣的随机整数除以相应次数的10,例:若产⽣3位的随机⼩数,则先产⽣随机整数,然后除以1000即可

实例:

产⽣1-100以内的随机数

#include

#include

#include

intmain()

{

srand((unsigned)time(NULL));

printf("%dn",rand()%100);

return0;

}

随机分组

#include

#include

#include

#include

intmain()

{

constchar*name[]={

"1",

"2",

"3",

"4",

"5",

"6",

"7",

"8",

"9",

"10",

"11",

"12",

"13",

"14",

"15",

"16",

"17",

"18",

"19",

"20",

"21",

"22",

"23",

"24",

"25",

"26",

"27",

"28",

"29",

"30",

"31",

"32",

"33",

"34",

"35",

"36",

"37",

};

intlen=sizeof(name)/sizeof(name[0]);

inti;

intlast=len-1;

srand((unsignedint)time(NULL));//⽤法固定与rand()⼀起产⽣⼀个随机数

for(i=0;i

{

intindex=rand()%(len);

//交换

constchar*tmp=name[index];

name[index]=name[last];

name[last]=tmp;

last--;

}

//打印

for(i=0;i

{

if(i%4==0)

printf("n");

printf("%8s",name[i]);

}

}

printf("n");

return0;

}

本文发布于:2023-03-11 21:29:23,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/1678541364218943.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:随分.doc

本文 PDF 下载地址:随分.pdf

下一篇:返回列表
标签:随分
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图