如何制作随机数 C语言……
3个回答
展开全部
#include
<stdio.h>
//头文件
main()
{int
n1;
srand((unsigned)time(NULL));
//利用时间作原子,这样第一次产生的随机数就不同了
n1=abs(rand()%100)+1;//产生随机数
printf("%d\n",n1);//显示
}
<stdio.h>
//头文件
main()
{int
n1;
srand((unsigned)time(NULL));
//利用时间作原子,这样第一次产生的随机数就不同了
n1=abs(rand()%100)+1;//产生随机数
printf("%d\n",n1);//显示
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先使用srand(unsigned
int)函数设置种子,然后使用rand()返回一个随机数。
使用这两个函数时需要包含头文件
#include <stdlib.h>1、在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX
是stdlib.h
中定义的一个整数,它与系统有关;
2、因为rand()函数是按指定的顺序来产生整数,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机并不是真正意义上的随机,有时候也叫伪随机数;
3、通常通过为随机数生成器提供一个新的随机种子来达到使程序在每次执行时都能生成一个新序列的随机值的效果。函数
srand()(来自stdlib.h)可以为随机数生成器播散种子。只要种子不同rand()函数就会产生不同的随机数序列。srand()称为随机数生成器的初始化器;
示例代码:
#include <time.h> //用到了time函数
#include <stdlib.h>
#include <stdio.h>
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;
}
int)函数设置种子,然后使用rand()返回一个随机数。
使用这两个函数时需要包含头文件
#include <stdlib.h>1、在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX
是stdlib.h
中定义的一个整数,它与系统有关;
2、因为rand()函数是按指定的顺序来产生整数,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机并不是真正意义上的随机,有时候也叫伪随机数;
3、通常通过为随机数生成器提供一个新的随机种子来达到使程序在每次执行时都能生成一个新序列的随机值的效果。函数
srand()(来自stdlib.h)可以为随机数生成器播散种子。只要种子不同rand()函数就会产生不同的随机数序列。srand()称为随机数生成器的初始化器;
示例代码:
#include <time.h> //用到了time函数
#include <stdlib.h>
#include <stdio.h>
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();但是每次的数都一样。比如这个程序执行一次,第一次得到的数是1,那关掉下次再执行,第一个数还是1~~
用时间作随机数很简单,在调用前加上srand(
(unsigned)time(NULL));就可以了。这样在调用随机数前,基调用了时间的基数,每次生成的数都不一样,形成了真正的随机数。
用时间作随机数很简单,在调用前加上srand(
(unsigned)time(NULL));就可以了。这样在调用随机数前,基调用了时间的基数,每次生成的数都不一样,形成了真正的随机数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询