www.pudn.com > 医学算法.rar > fmm.c


#include	
#include	

/*
	fmm - find maximum and minimum of dat

	Carl Crawford
	Purdue University
	W. Lafayette, IN

	March 11, 1981
*/

int	scale;		/* 1=interface to qplot */
int	xmax;		/* Number of points in the file. */
FILE	*input;

main(argc,argv)
	int	argc;
	char	**argv;
{
	float	min,max,buf[512];
	int i,j;

	if(argc >= 2)
		if (!strcmp(argv[1],"-qplot")){
			scale = 1;
			argc--;
			argv++;
		}
	if (argc > 1 ){
		input = fopen(argv[1],"r");
		if (!input){
			fprintf(stderr,"Can't open %s for input\n",argv[1]);
			exit(1);
		}
	}
	else
		input=stdin;
	min = HUGE;
	max = -min;
	xmax = 0;
	while((j = fread(buf,sizeof(*buf),512,input)) != NULL){
		for(i=0;i max)max = buf[i];
			if(buf[i] < min)min = buf[i];
		}
		xmax += j;
	}
	if(scale)
		fprintf(stdout,"0.0 %d %g %g\n",xmax,min,max);
	else
		fprintf(stdout,"min=%g\nmax=%g\n",min,max);
}