这个程序 哪里错了吗

int a[100],b[100]={0};
int i,min,max;
 for(i=0;i<100;i++)
   a[i]=rand( )%100;
  if((f1=fopen("e:\\in.txt","w"))==NULL)
  { printf("cannot open file\n"); 
  exit(1); }
   for(i=0;i<100;i++)
   fprintf(f1,"%d",a[i]);
   fclose(f1);

 f1=fopen("e:\\in.txt","r");
 min=max=b[0];
 for(i=0;i<100;i++)
 { fscanf(f1,"%d",&b[i]);
 if(b[i]>max)  max=b[i];
 if(b[i]<min)  min=b[i];
 }
 fclose(f1);
 printf("max=%d,min=%d\n",max,min);
 f2=fopen("e:\\out.txt","w");
 fprintf(f2,"%d",max); 
 fprintf(f2,"%d",min);
 fclose(f2);
 system("pause");
}

min和max没有chu shi

修改如下,供参考:

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

int main()
{
    FILE *f1,*f2;
    int a[100],b[100]={0};
    int i,min,max;
    srand((unsigned int)time(NULL));
    for(i=0;i<100;i++)
          a[i]=rand()%101;
    if((f1=fopen("e:\\in.txt","w"))==NULL)
    {
         printf("cannot open file\n");
         exit(1);
    }
    for(i=0;i<100;i++)
         fprintf(f1,"%d ",a[i]);
    fclose(f1);

    f1=fopen("e:\\in.txt","r");
    min=max=b[0];
    for(i=0;i<100;i++)
    {
        fscanf(f1,"%d",&b[i]);
        if(b[i]>max)  max=b[i];
        if(b[i]<min)  min=b[i];
    }
    fclose(f1);
    printf("max=%d,min=%d\n",max,min);
    f2=fopen("e:\\out.txt","w");
    fprintf(f2,"%d ",max);
    fprintf(f2,"%d ",min);
    fclose(f2);
    system("pause");
}