C语言问题,怎样利用系统时间作为随机数的种子?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言问题,怎样利用系统时间作为随机数的种子?相关的知识,希望对你有一定的参考价值。

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void main()
int magic, guess,counter;
srand(time());
magic=rand()%100;
guess=magic-1;
counter=0;
while (guess!=magic)
printf("Guess the magic number:");
scanf("%d", &guess);
counter++;
if (guess!=magic)
printf("***Wrong***Too High\n!");
else if (guess!=magic)
printf("***Wrong***Too Low!\n");

printf("***Bingo***\n");
printf("Guess counter is %d\n", counter);

运行后就出现error C2198: 'time' : too few actual parameters这个问题。

C语言中,设置随机数种子需要包含头文件stdlib.h,利用系统时间需要包含头文件time.h。

设置随机数种子的函数原型为:void srand(unsigned int seed);

利用系统时间作为随机数的种子代码如下:

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

int main()
    srand((unsigned)time(NULL)); // 利用系统时间作为随机数的种子
    return 0;

参考技术A c语言
毫秒级
sleep();

能:
执行挂起一段时间
原型:sleep(unisgned
long);
clock();
功能:开启这个程序进程”到“程序中调用clock()函数”时之间的cpu时钟计时单元
数组范围扩大到10个元素,下标也扩大到0~9,更便于观察
#include
#include
#include
#include
int
main()

int
num[10],
i;
//种子
srand(clock());
//给数组随即赋值
for(i
=
0;i
<
10;i++)

num[i]
=
rand()
%
100;
printf("%d
",num[i]);

printf("\n");
//随即输出数组元素
for(i
=
0;i
<
20;i++)

sleep(5);
srand(clock());
printf("%d
",num[rand()
%10]);

return
0;
参考技术B srand(time());

应改为

srand(time(NULL));本回答被提问者采纳

C语言中 random() 函数怎么用?

C语言中 random() 函数怎么用?

srand(int)用来设种子,然后每次rand()返回一个随机值

种子最好是每次都不同的,否则你每次得到的都是同样的一系列伪随机数,通常让种子和当前时间相关,比如
srand((unsigned)time(0));
参考技术A 一楼,c里面哪里来的randomize和random????
c里面初始化随机种子是srand(int),然后rand()是返回一个随机值,范围是0--32767
参考技术B random()
这个函数在VC下面是用不了的,必须在Turbo上面才可使用,你只能使用rand函数了。
参考技术C 先在
srand丢入种子,在使用random去得到随机数,如果想得到0~100z之间的,可以random()%100
参考技术D random,C语言里意为随机数发生器。用法:
int
random(int
num);
例子:
#include
<stdlib.h>
int
main(void);

randomize();
printf("number:%d\n",random(100));/*意为取0~99之间的数字并输出*/
return
0;

以上是关于C语言问题,怎样利用系统时间作为随机数的种子?的主要内容,如果未能解决你的问题,请参考以下文章

怎样用c语言产生0-100随机数?求助高手

用C语言如何实现多线程同时运行的情况下,各个线程输出不同的随机数?

c语言中rand()函数怎么用?

rand产生随机数怎样控制在1~52内而且不能重复。1~52必须出现一次。谢谢

c#中,怎么产生一个随机数?

哪些种子用于通用语言中的本机随机数生成器?