----------------解决方案--------------------------------------------------------
顶起来,我遇到的问题和这个差不多,就是每次运行得到的数都是一样的,为什么?
有没有什么办法解决?
----------------解决方案--------------------------------------------------------
以前有个贴有关这方面介绍,不过现在不知沉到那里。
----------------解决方案--------------------------------------------------------
好像可以用randomize()这个函数来解决
调用方式:void randomize(void)
说明:函数randomize()的原型在stdlib.h中
函数randomize()宏通过初始化随技数发生器使之产生一个随机数。它使用time()函数,所以在用道randomize()的任何程序都要包括time.h
(以上载自《TURBO C实用大全》P496)
再写这个函数,再用rand()函数,这样生成的随机数就会不一样了。
----------------解决方案--------------------------------------------------------
#include<time.h>
#include<stdio.h>
#include<stdlib.h>
void main()
{
int a,b;
srand((unsigned)time(NULL));
a=rand()%10+1;
b=rand()%10+1;
printf("%d+%d=%d",a,b,a+b);
}
我们老师教的就是用时间做种子
----------------解决方案--------------------------------------------------------
还请各位高手解释一下这句话的含义
srand((unsigned)time(NULL));
srand是什么函数?
----------------解决方案--------------------------------------------------------
函数名: srand
功 能: 初始化随机数发生器
用 法: void srand(unsigned seed);
程序例:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main(void)
{
int i;
time_t t;
srand((unsigned) time(&t));
printf("Ten random numbers from 0 to 99\n\n");
for(i=0; i<10; i++)
printf("%d\n", rand() % 100);
return 0;
}
呼呼,教程上写的,看看
----------------解决方案--------------------------------------------------------
谢谢楼上的,终于又解决了一个问题。请问楼上的用的是什么教程?我查过很多书都没有找到这个函数的解释。
----------------解决方案--------------------------------------------------------
Turbo C For Windows 集成实验与学习环境
这个软件里头自带的,有兴趣的话下载下,
新浪下载 http://down1.tech.sina.com.cn/download/downContent/2005-09-27/15307.shtml
论坛里老贴有的.
----------------解决方案--------------------------------------------------------
麻烦问一下, srand((unsigned) time(&t)); 这句该怎么理解? 我还是没看懂啊?谢谢阿!
----------------解决方案--------------------------------------------------------