www.jbmf.net > C语言,如何产生随机数

C语言,如何产生随机数

用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>

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

最低0.27元开通文库会员,查看完整内容> 原发布者:趁光明 C语言中产生随机数的方法引例:产生10个[100-200]区间内的随机整数.#include#include//rand函数的头文件#include//时间函数的头文件intmain(){inti;//循环变量srand((unsigned)time(

/*********************** 作者: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"void main(){ int i,x; for(i=1;i<10;i++) { x=rand()%2*1000; //生成0,和1,的随机数,然后乘1000就可以了 printf("%5d",x); } printf("\n");}

有三种方式,分别适用于不同的需求.1. 如果需要的随机数范围在0到2147483647之间,直接调用rand()函数就行了.例如:2. 如果需要的随机数在一定范围,可以在宏定义中定义一个random(int number)函数,然后在main()里面直接调用:例如:随机生成10个0~100的数:3. 以上两种方式产生的随机数都是一次性的,如果你第二次运行的时候输出结果仍和第一次一样.连续产生不同的随机数如下如下 例如:

楼主你好!很高兴回答你的问题!#include<stdio.h>#include<windows.h>#include<time.h>#include<stdlib.h>int main(){ int num; srand((unsigned)time(NULL)); num = rand()%100+1; printf("%d\n",num); return 0;}上面的是参数一个1到100之间

产生一定范围随机数的通用表示公式要取得[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).

原发布者:趁光明 C语言中产生随机数的方法引例:产生10个[100-200]区间内的随机整数.#include#include//rand函数的头文件#include//时间函数的头文件intmain(){inti;//循环变量srand((unsigned)time(NULL));//产生随机数的起始数据(以

#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"); }

网站地图

All rights reserved Powered by www.jbmf.net

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