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

瓜云互联-美国洛杉矶高防CN2高防云服务器,新老用户均可9折促销!低至32.4元/月!

瓜云互联一直主打超高性价比的海外vps产品,主要以美国cn2、香港cn2线路为主,100M以内高宽带,非常适合个人使用、企业等等!安全防护体系 弹性灵活,能为提供简单、 高效、智能、快速、低成本的云防护,帮助个人、企业从实现网络攻击防御,同时也承诺产品24H支持退换,不喜欢可以找客服退现,诚信自由交易!官方网站:点击访问瓜云互联官网活动方案:打折优惠策略:新老用户购买服务器统统9折优惠预存返款活动...

Sharktech10Gbps带宽,不限制流量,自带5个IPv4,100G防御

Sharktech荷兰10G带宽的独立服务器月付319美元起,10Gbps共享带宽,不限制流量,自带5个IPv4,免费60Gbps的 DDoS防御,可加到100G防御。CPU内存HDD价格购买地址E3-1270v216G2T$319/月链接E3-1270v516G2T$329/月链接2*E5-2670v232G2T$389/月链接2*E5-2678v364G2T$409/月链接这里我们需要注意,默...

Virmach款低价VPS可选可以选择多个机房,新增多款低价便宜VPS主机7.2美元起

Virmach商家我们是不是比较熟悉?速度一般,但是人家价格低,而且机房是比较多的。早年的时候有帮助一个有做外贸也许需要多个机房且便宜服务商的时候接触到这个商家,有曾经帮助够买过上百台这样的低价机器。这里需要提醒的,便宜但是速度一般,尤其是中文业务速度确实不快,如果是外贸业务,那肯定是没有问题。这几天,我们有看到Virmach推出了夏季优惠促销,VPS首年8折,最低年付仅7.2美元,多机房可选,如...

随机函数为你推荐
免费申请电子邮箱电子邮箱免费注册模糊数学模糊数学与人们常说的数学有何差别?谢谢招行信用卡还款招行信用卡还款顺序是怎样的4g上网卡什么是4G无线上网卡burndown如何画burndown chart售后软件电脑维修需要哪些必备软件工作经验介绍工作经验介绍怎么写sg什么意思sg,gm到底是什麽意思?主板说明书请问那位有联想945GZ主板说明书购物网站设计购物网站如何设计漂亮且实用的购物车
网站空间申请 如何注销域名备案 smartvps 老鹰主机 正版win8.1升级win10 lamp配置 ibrs 河南服务器 佛山高防服务器 国内域名 工信部icp备案查询 supercache 江苏徐州移动 杭州电信宽带 腾讯云平台 美国vpn服务器 vim命令 西安电信测速网 企业私有云存储 web服务器下载 更多