随机函数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)); }这样两次运行的结果就会不一样了!!

racknerd:美国大硬盘服务器,$599/月,Ryzen7-3700X/32G内存/120gSSD+192T hdd

racknerd当前对美国犹他州数据中心的大硬盘服务器(存储服务器)进行低价促销,价格跌破眼镜啊。提供AMD和Intel两个选择,默认32G内存,120G SSD系统盘,12个16T HDD做数据盘,接入1Gbps带宽,每个月默认给100T流量,5个IPv4... 官方网站:https://www.racknerd.com 加密数字货币、信用卡、PayPal、支付宝、银联(卡),可以付款! ...

DMIT(季度$28.88)调整洛杉矶CN2 GIA优化端口

对于DMIT商家已经关注有一些时候,看到不少的隔壁朋友们都有分享到,但是这篇还是我第一次分享这个服务商。根据看介绍,DMIT是一家成立于2017年的美国商家,据说是由几位留美学生创立的,数据中心位于香港、伯力G-Core和洛杉矶,主打香港CN2直连云服务器、美国CN2直连云服务器产品。最近看到DMIT商家有对洛杉矶CN2 GIA VPS端口进行了升级,不过价格没有变化,依然是季付28.88美元起。...

UCloud优刻得,新增1核1G内存AMD快杰云机型,服务器2元/首月,47元/年

UCloud优刻得近日针对全球大促活动进行了一次改版,这次改版更加优惠了,要比之前的优惠价格还要低一些,并且新增了1核心1G内存的快杰云服务器,2元/首年,47元/年,这个价格应该是目前市面上最低最便宜的云服务器产品了,有需要国内外便宜VPS云服务器的朋友可以关注一下。UCloud好不好,UCloud服务器怎么样?UCloud服务器值不值得购买UCloud是优刻得科技股份有限公司旗下拥有的云计算服...

随机函数为你推荐
模糊数学模糊数学与人们常说的数学有何差别?谢谢起英文名取个英文名空间背景图片怎么设置空间背景图片4g上网卡联通4g上网卡是什么?4g上网卡4G手机上网卡和4G网络是什么意思?售后软件vivo售后的软件可以删吗工作经验介绍个人简历中工作经验怎么写?网络购物的发展网购如何促进经济的发展?sd卡座SD卡座有能满足CE认证的吗?黑屏操作电脑在黑屏的情况怎么重新操作系统
美国服务器租用 hostmaster godaddy续费优惠码 鲜果阅读 华为云主机 网页背景图片 免费ddos防火墙 亚洲小于500m e蜗牛 秒杀预告 福建铁通 万网空间购买 华为云服务登录 东莞idc smtp虚拟服务器 cxz 石家庄服务器托管 阿里云邮箱申请 服务器防御 zcloud 更多