为什么rz总是零!!!我就这么多分了,请各位帮忙看看...

来源:百度知道 编辑:UC知道 时间:2024/06/30 08:58:35
#include<stdio.h>
#include<stdlib.h>
#define TOTAL 100000
#define N 100
void main(){
FILE *fp;
long int ri,rz,i;
static int seed=-1;
fp=fopen("1001.txt","w");
srand(seed++);
for(i=-1;i<TOTAL;i++){
ri=rand()%N;
rz=rand()%N;
printf("%d %d\n",ri,rz);
fprintf(fp,"%d %d\n",ri,rz);
}
fclose(fp);
}

我在VC上运行了,并不总是0啊

#include<stdio.h>
#include<stdlib.h>

#define TOTAL 100000
#define N 100
void main()
{
FILE *fp;
long int ri,rz,i;
static int seed=-1;

fp=fopen("1001.txt","w");
srand(seed++);
for(i=-1;i<TOTAL;i++)
{
ri=rand()%N;
rz=rand()%N;
printf("%d %d\n",ri,rz);
fprintf(fp,"%d %d\n",ri,rz);
}
fclose(fp);
}

LZ你的方法错了```,计算机采用的是伪随机数,你怎么可以用固定的值呢?

在头文件加上
#include <time.h>

然后把srand(seed++);

改成srand(time(0));

至于原理,你google下,查下srand的用法,就该理解为什么了。