www.jbmf.net > C语言如何编程产生随机数?

C语言如何编程产生随机数?

在VC中设计到随机数有两个函数srand() and rand()srand() 的作用是是一bai个种子,提供每du次获得随机数的基数而已,rand()根据种子而产生随机数注意1:srand() 里的值必须是动态变化的,否则得到zhi的随机数就是一个固定dao数2:其实可以不用写srand() ,只用rand()就可以了,省事,简单,例子如下如果我们想得到一个 0-60的随机数那么可以写内成int i;i=rand()%60;就可以了.容当然最好有个统一的标注如下:int i;srand((unsigned)time( NULL ));i=rand()%60;这样就OK了.

用rand函数可以产生小于32767的随5261机数,如果需要的随机数范围超过了32767,可以用rand()*rand()来产4102生1653,举例如下:产生0~32767范围内的随机数回:int num = rand();产生0-20范围内的随机数:int num = rand()%20;产生0~10000000范围内的随机数:int num = rand()*rand()%10000000;注:需要包答含头文件<stdlib.h>

#include void main() { int i; srand((unsigned)time(null)); i = rand() % 100; } 这样产生的随机数就是0-99之间的, 这二个函数的工作过程如下: 1) 首先给srand()提供一个种子,它是一个unsigned int类型,其取值范围从0~65535; 2) 然后调

#include<stdio.h>#include "stdlib.h"void main(){ int i,x; for(i=1;i<10;i++) { x=rand()%2*1000; //生成0,和1,的随机数,然后乘1000就可以了 printf("%5d",x); } printf("\n");}

/*********************** 作者:dongyu 功能:生成随机数 ***********************/ #include <stdio.h> #include <conio.h> main() { int i,n,sum=0,mark=1; srand(time(NULL));//设置随机种子 while(mark==1)//如超出随机数总和的范围,则重新生成随机数 {

不知道随机性如何:#include <stdio.h>#include <stdlib.h>#include <time.h>#include <string.h> void Swap(int* lhs, int* rhs) { int tmp = *lhs; *lhs = *rhs; *rhs = tmp; } int main() { srand(time(0)); int a[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; int key[10]; for(int i = 0;

给你一个简单的例子吧#include#includevoid main(){ unsigned seed; //随机数种子 printf("请输入随机数种子\n"); scanf("%d",&seed); //输入随机数种子 srand(seed); //将随机数种子传给随机发生器 printf("%d\n",rand() % 10); //产生0~9的随机数}

我这里给出M,N是double 的通用程序.(m < n ).随机数也是double,你若要整数自己取整.指数分布,假定指数分布函数曲线是:f(x)=LAM * exp(-LAM*x); LAM 是 指数分布函数 参数.你要自己给定,我这里给了1.2.#include <stdio.h>#include

产生一定范围随机数的通用表示公式 要取得[a,b)的随机整数,使用(rand() % (b-a))+ a; 要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a; 要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1; 通用公式:a + rand() % n;其中的a是起始值,n是整数的范围.要取得a到b之间的随机整数,另一种表示:a + (int)b * rand() / (RAND_MAX + 1).要取得0~1之间的浮点数,可以使用rand() / double(RAND_MAX).

rand(int n)函数产生一个四位正整数,抄用rand()%(n-m)结果为一个[0,n-m)的数,rand()%(n-m)+m结果为一个[m,n)的数,然后再加zhidao1就为[m,n]之间的数.下面这个程序中你可以参考一下:http://read.pudn.com/downloads166/sourcecode/others/763438/SIMULIB.C__.htm

网站地图

All rights reserved Powered by www.jbmf.net

copyright ©right 2010-2021。
www.jbmf.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com