请教一个随机数问题。
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
double rnd[10];
void randomize1()
{int i;
srand( (unsigned)time( NULL ) );
for(i=0;i<10;i++){
rnd[i]=rand()%101/100.0;
printf(" %f\n",rnd[i]);
}
}
void main()
{double b[2][10];
int i,j;
for (i=0;i<2;i++) {
randomize1();
for(j=0;j<10;j++)
b[i][j]=rnd[j];
}
for (i=0;i<2;i++){
for(j=0;j<10;j++)
printf("%f ",b[i][j]);
printf("\n");
}
}
我想让b[][]的每一个元素都是随机数,但我这样编只是一行中的各个元素不一样,两行的元素一样。
可见两次调用randomize1(),是一样的值。当然,我可以定义rnd[20],(一次产生20个随机值)解决这一个问题。
我想问的是怎么在现有的基础上,让我在main里面每次调用randomize1()都是一组新的10个值。