随机函数C语言中获得随机数的方法

随机函数  时间:2021-09-03  阅读:()

怎样用c语言产生一个0到100的随机数

具体代码如下: #include #include #include //用到了time函数 int main() { int i,number; srand((unsigned) time(null)); //用时间做种,每次产生随机数不一样 for (i=0; i<50; i++) { number = rand() % 101; //产生0-100的随机数 printf("%d ", number); } return 0; } 有以下几种情况: (1) 如果只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至rand_max 间。

rand_max定义在stdlib.h, 其值为2147483647。

(2) 如果你要随机生成一个在一定范围的数,你可以在宏定义中定义一个random(int number)函数,然后在main()里面直接调用random()函数: 例如: rand()%100是产生0-99的随机数。

rand函数的用法

这个我用过,我知道: rand()是一个可以生成随机数的函数随机数,函数返回的随机数在0-RAND_MAX(32767)之间; rand()%100结果是随机数除以100后所得的余数,即限定随机的范围是在0~99之间; 使用rand()函数需添加头文件:#include <stdlib.h> 你的二维数组可以可提供这样一种方法实现: #include "stdafx.h" #include "stdlib.h" int main(int argc, char* argv[]) { int Array[5][5]; int i,j; for(i=0;i<=4;i++) for(j=0;j<=4;j++) Array[i][j] = rand()%900+100; for(i=0;i<=4;i++){ //测试输出 for(j=0;j<=4;j++) printf("%d ",Array[i][j]); printf(" "); } return 0; }

C语言中获得随机数的方法

C语言/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数。

(1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间。

RAND_MAX定义在stdlib.h, 其值为2147483647。

例如:#include<stdio.h> #include<stdlib.h> void main() { for(int i=0;i<10;i+) printf("%d ",rand()); } (2) 如果你要随机生成一个在一定范围的数,你可以在宏定义中定义一个random(int number)函数,然后在main()里面直接调用random()函数:例如:随机生成10个0~100的数: #include<stdio.h> #include<stdlib.h> #define random(x) (rand()%x) void main() { for(int x=0;x<10;x++) printf("%d ",random(100)); } (3)但是上面两个例子所生成的随机数都只能是一次性的,如果你第二次运行的时候输出结果仍和第一次一样。

这与srand()函数有关。

srand()用来设置rand()产生随机数时的随机数种子。

在调用rand()函数产生随机数前,必须先利用srand()设好随机数种子(seed), 如果未设随机数种子, rand()在调用时会自动设随机数种子为1。

上面的两个例子就是因为没有设置随机数种子,每次随机数种子都自动设成相同值1 ,进而导致rand()所产生的随机数值都一样。

srand()函数定义 : void srand (unsigned int seed); 通常可以利用geypid()或time(0)的返回值来当做seed 如果你用time(0)的话,要加入头文件#include<time.h>例如: #include<stdio.h> #include<stdlib.h> #include<time.h> #define random(x) (rand()%x) void main() { srand((int)time(0)); for(int x=0;x<10;x++) printf("%d ",random(100)); }这样两次运行的结果就会不一样了!!

随风云-内蒙古三线BGP 2-2 5M 25/月 ,香港CN2 25/月 ,美国CERA 25/月 所有云服务器均支持5天无理由退款

公司成立于2021年,专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的国内BGP、三线高防、香港等优质的IDC资源。公司一直秉承”以人为本、客户为尊、永续创新”的价值观,坚持”以微笑收获友善, 以尊重收获理解,以责任收获支持,以谦卑收获成长”的行为观向客户提供全面优质的互...

香港云服务器 1核 256M 19.9元/月 Mineserver Ltd

Mineserver(ASN142586|UK CompanyNumber 1351696),已经成立一年半。主营香港日本机房的VPS、物理服务器业务。Telegram群组: @mineserver1 | Discord群组: https://discord.gg/MTB8ww9GEA7折循环优惠:JP30(JPCN2宣布产品可以使用)8折循环优惠:CMI20(仅1024M以上套餐可以使用)9折循...

ParkinHost:俄罗斯离岸主机,抗投诉VPS,200Mbps带宽/莫斯科CN2线路/不限流量/无视DMCA/55折促销26.4欧元 /年起

外贸主机哪家好?抗投诉VPS哪家好?无视DMCA。ParkinHost今年还没有搞过促销,这次parkinhost俄罗斯机房上新服务器,母机采用2个E5-2680v3处理器、128G内存、RAID10硬盘、2Gbps上行线路。具体到VPS全部200Mbps带宽,除了最便宜的套餐限制流量之外,其他的全部是无限流量VPS。ParkinHost,成立于 2013 年,印度主机商,隶属于 DiggDigi...

随机函数为你推荐
融360我在融360APP上申请二十万没通过,今天有人打电话给我说可以通过,这个是真的吗?项目质量管理在项目质量管理中有什么win10发布win10什么时候发布正式版阿里地图魔兽世界wow祖达萨泽布阿里在哪?体系文件人事管理体系文件 怎么做?阿里下载阿里旺旺在哪里下载?暂停线程如何正确的更好的停止一个线程修复网络lspwin 7,lsp修复无法上网省份证查询如何免费查询个人身份证号码归属地及姓名分销渠道案例海尔公司的分销渠道是?
中国域名网 骨干网 樊云 搬瓦工官网 美国主机论坛 evssl windows2003iso qingyun hostker 老左来了 idc是什么 流量计费 电信主机 卡巴斯基免费试用版 如何建立邮箱 华为云盘 cloudlink cxz 中国域名 可外链的相册 更多