C语言怎样产生一定范围的随机数?

现在需要产生1~3之间的整型随机数,该用什么函数产生?百度上面没找到产生随机数的范围最小值大于0的方法,rand,srand怎么用才能产生任意范围的整型随机数?在线等待中... 现在需要产生1~3之间的整型随机数,该用什么函数产生?百度上面没找到产生随机数的范围最小值大于0的方法,rand,srand怎么用才能产生任意范围的整型随机数?
在线等待中~~~~
展开
 我来答
库鲁滋·韦伯ea3
2010-01-10 · TA获得超过440个赞
知道小有建树答主
回答量:245
采纳率:0%
帮助的人:0
展开全部
头文件添加
#include<stdlib.h>
随机函数:rand()%X
X就是你要的范围,不过这里是默认0开始的,要除掉0的话,就写成rand()%X+1,就可以了
int i;
i=rand()%20;
类似这样用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-06-20
展开全部
//---------------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int a;
int t=10,d=100;
srand(time(NULL)); /*初始化随机数种子*/

a=rand()%(d-t)+t; /*生成一个[t,d)区间内的整数*/
return 0;
}
//---------------------------------------------------------------------------
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
希望村村民
2010-01-10 · TA获得超过1588个赞
知道小有建树答主
回答量:1187
采纳率:100%
帮助的人:941万
展开全部
函数名: rand
功 能: 随机数发生器
用 法: void rand(void);
程序例:

#include <stdlib.h>
#include <stdio.h>

int main(void)
{
int i;

printf("Ten random numbers from 0 to 99\n\n");
for(i=0; i<10; i++)
printf("%d\n", rand() % 100);
return 0;
}
函数名: random
功 能: 随机数发生器
用 法: int random(int num);
程序例:

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

/* prints a random number in the range 0 to 99 */
int main(void)
{
randomize();
printf("Random number in the 0-99 range: %d\n", random (100));
return 0;
}

函数名: randomize
功 能: 初始化随机数发生器
用 法: void randomize(void);
程序例:

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

int main(void)
{
int i;

randomize();
printf("Ten random numbers from 0 to 99\n\n");
for(i=0; i<10; i++)
printf("%d\n", rand() % 100);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
多多少少说三道四
2018-05-23 · TA获得超过1876个赞
知道答主
回答量:1
采纳率:0%
帮助的人:832
展开全部
也要大概接近呀,因为两次调用rand函数的时间通常是不同的,则计算出来的伪随机序列就是完全相同的。各种编程语言返回的随机数(确切地说是伪随机数)实际上都是根据递推公式计算的一组数值;
for(int i=0;100000;i++)
{
//相关语句
}

参考资料.h>time,而由于计算机运行很快;i<i++)
{
srand( (unsigned)time( NULL ) ):

问题1;设定随机数种子
rand()%100,需要在每次产生随机序列前。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2298deca2
2010-01-10 · 超过20用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:0
展开全部
整数还是小数啊。
整数好办,比如要产生N到M的,其中N-M=Q

a = rand()%Q+N;

记得在前面加上#include <time.h>
并在程序一开始处
void main ()
{
这里加上
srand (time(0)) ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式