C语言怎样产生一定范围的随机数?
现在需要产生1~3之间的整型随机数,该用什么函数产生?百度上面没找到产生随机数的范围最小值大于0的方法,rand,srand怎么用才能产生任意范围的整型随机数?在线等待中...
现在需要产生1~3之间的整型随机数,该用什么函数产生?百度上面没找到产生随机数的范围最小值大于0的方法,rand,srand怎么用才能产生任意范围的整型随机数?
在线等待中~~~~ 展开
在线等待中~~~~ 展开
23个回答
展开全部
头文件添加
#include<stdlib.h>
随机函数:rand()%X
X就是你要的范围,不过这里是默认0开始的,要除掉0的话,就写成rand()%X+1,就可以了
int i;
i=rand()%20;
类似这样用
#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;
}
//---------------------------------------------------------------------------
#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;
}
//---------------------------------------------------------------------------
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数名: 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;
}
功 能: 随机数发生器
用 法: 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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
也要大概接近呀,因为两次调用rand函数的时间通常是不同的,则计算出来的伪随机序列就是完全相同的。各种编程语言返回的随机数(确切地说是伪随机数)实际上都是根据递推公式计算的一组数值;
for(int i=0;100000;i++)
{
//相关语句
}
参考资料.h>time,而由于计算机运行很快;i<i++)
{
srand( (unsigned)time( NULL ) ):
问题1;设定随机数种子
rand()%100,需要在每次产生随机序列前。
for(int i=0;100000;i++)
{
//相关语句
}
参考资料.h>time,而由于计算机运行很快;i<i++)
{
srand( (unsigned)time( NULL ) ):
问题1;设定随机数种子
rand()%100,需要在每次产生随机序列前。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
整数还是小数啊。
整数好办,比如要产生N到M的,其中N-M=Q
a = rand()%Q+N;
记得在前面加上#include <time.h>
并在程序一开始处
void main ()
{
这里加上
srand (time(0)) ;
整数好办,比如要产生N到M的,其中N-M=Q
a = rand()%Q+N;
记得在前面加上#include <time.h>
并在程序一开始处
void main ()
{
这里加上
srand (time(0)) ;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询