帮看下我的代码 为什么我随机生成的数每次都是一样的(不是数和数之间相同)
#include <stdio.h>#include <conio.h>
#include <stdlib.h>
/*随机生成一些数,储存在一个5行4列的二维数组里面,并打印*/
int array[5][4];
int main (void)
{
int count,count2;
for (count=0;count<5;count++)
{
for (count2=0;count2<4;count2++)
{
array[count][count2]= rand ();
printf("\narray[%d][%d]=%d\n",count,count2,array[count][count2]);
}
}
getch ();
return 0;
}
----------------解决方案--------------------------------------------------------
糖炒栗子,现炒现卖
前几天提过类似的问题,论坛上的朋友帮我解决了,现郑重地转诉于您:srand((unsigned)time(NULL));
加入这行代码,就会随着电脑时间的改变,变化着随机数字。
----------------解决方案--------------------------------------------------------
加上这句话 出来的数字是变化了 可是同一次出来的10的都是一样的......这样不对吧
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
/*随机生成一些数,储存在一个5行4列的二维数组里面,并打印*/
int array[5][4];
int main (void)
{
int count,count2;
for (count=0;count<5;count++)
{
for (count2=0;count2<4;count2++)
{
srand((unsigned)time(NULL));
array[count][count2]= rand ();
printf("\narray[%d][%d]=%d\n",count,count2,array[count][count2]);
}
}
getch ();
return 0;
}
----------------解决方案--------------------------------------------------------
时间种子的地方不对
#include <stdio.h>#include <conio.h>
#include <stdlib.h>
/*随机生成一些数,储存在一个5行4列的二维数组里面,并打印*/
int array[5][4];
int main (void)
{
int count,count2;
srand((unsigned)time(NULL));
for (count=0;count<5;count++)
{
for (count2=0;count2<4;count2++)
{
array[count][count2]= rand ();
printf("\narray[%d][%d]=%d\n",count,count2,array[count][count2]);
}
}
getch ();
return 0;
}
经过测试10次,可以正确运行。
----------------解决方案--------------------------------------------------------
我刚试验下 是可以的 不过我想问下
srand((unsigned)time(NULL)); 啥意思?
----------------解决方案--------------------------------------------------------
百度 上 收到了
"函数rand()是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。函数rand()会返回一个处于0和你所指定的数值(缺省为1)之间的分数。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。而使用同种子相同的数调用srand()会导致相同的随机数序列被生成"
0和你所指定的数值(缺省为1)之间的分数? 怎么理解?
----------------解决方案--------------------------------------------------------