#include <stdioh>
#include<stdlibh> //生成随机数用
#include<timeh> //利用时间生成种子
#include<mathh> //利用次方算2^(t-1)
//一共要写2^(t-1)行
void main()
{
int i;
long t,tem1,tem2;
scanf("%ld",&t);
t=pow(2,t-1);
srand((unsigned long)time(0)); //生成种子
for(i=1;i<=t;i++) //生成 2^(t-1)行随机数
{
tem1=rand()1000000/RAND_MAX; //生成第一个随机数
printf("%ld ",tem1); //打印
tem2=rand()1000000/RAND_MAX; //生成第二个随机数
while(tem2>tem1) //当第二个随机数大于第一个时,重新生成
tem2=rand()1000000/RAND_MAX;
printf("%ld\n",tem2); //打印第二个
}
return;
}
在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了。
楼主你好!
很高兴回答你的问题!
#include<stdioh>
#include<windowsh>
#include<timeh>
#include<stdlibh>
int main()
{
int num;
srand((unsigned)time(NULL));
num = rand()%100+1;
printf("%d\n",num);
return 0;
}
上面的是参数一个1到100之间的随机数的例子!主要用到rand()函数,它能够随机参数一个0到unsigned int的最大值之间的一个随机数,我们可以通过%控制随机数参数的范围!在使用rand()需要调用srand()种子器,不然你每次得到都是同一个数!具体用法可以去网上查查!
希望我的回答对你有帮助!
望采纳!谢谢!
首先使用srand(unsigned
int)函数设置种子,然后使用rand()返回一个随机数。
使用这两个函数时需要包含头文件
#include <stdlibh>1、在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX
是stdlibh
中定义的一个整数,它与系统有关;
2、因为rand()函数是按指定的顺序来产生整数,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机并不是真正意义上的随机,有时候也叫伪随机数;
3、通常通过为随机数生成器提供一个新的随机种子来达到使程序在每次执行时都能生成一个新序列的随机值的效果。函数
srand()(来自stdlibh)可以为随机数生成器播散种子。只要种子不同rand()函数就会产生不同的随机数序列。srand()称为随机数生成器的初始化器;
示例代码:
#include <timeh> //用到了time函数
#include <stdlibh>
#include <stdioh>
int main()
{
int i, number;
srand((unsigned int) time(NULL)); //用时间做种,每次产生随机数不一样
for (i=0; i<10; i++)//产生10个随机数
{
number = rand() % 12 + 1;//产生1-13的随机数
printf("%d\n", number);
}
return 0;
}
用rand函数可以产生小于32767的随机数,如果需要的随机数范围超过了32767,可以用rand()rand()来产生,举例如下:
产生0~32767范围内的随机数:int num = rand();
产生0-20范围内的随机数:int num = rand()%20;
产生0~10000000范围内的随机数:int num = rand()rand()%10000000;
注:需要包含头文件<stdlibh>
以上就是关于C语言产生随机数全部的内容,包括:C语言产生随机数、C语言如何生成随机数、C语言如何编程产生随机数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)