请教大家,函数与数组问题.
我得程序为什么每次运行随机数字全是一样的?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int suiji();
void main()
{
int i;
int arr[100];
int count[10]={0,0,0,0,0,0,0,0,0,0};
for(i=0;i <100;i++)
{
arr[i]=suiji();
switch(arr[i])
{
case 0:count[0]++;break;
case 1:count[1]++;break;
case 2:count[2]++;break;
case 3:count[3]++;break;
case 4:count[4]++;break;
case 5:count[5]++;break;
case 6:count[6]++;break;
case 7:count[7]++;break;
case 8:count[8]++;break;
case 9:count[9]++;break;
}
}
for(i=0;i <100;i++)
{
printf( "%d\t ",arr[i]);
}
for(i=0;i <10;i++)
{
printf( "%d出现的次数为%d\n ",i,count[i]);
}
}
int suiji()
{
int i;
//srand((unsigned)time(NULL));
i=rand()%10;
return i;
}
[解决办法]
在main中加:
srand((unsigned)time(NULL));
int main()
{
srand((unsigned)time(NULL));
//
.................
}
[解决办法]
设置随机种子
[解决办法]
看这个, 说得很清楚了:
http://blog.sina.com.cn/u/4ae81898010005fi
[解决办法]
你原来好像没有在函数上放吧,你注释掉了啊。
不过
srand((unsigned)time(NULL));
一般确实只需要放一次的。