** Finding the number in an array that is closest to * a given number (6.0 in the example). parameter(max=100000) real*4 x(max) character nin*50 ** Read the data nin='/home/sgao/demo/07_f77/minmax.dat' open(1,file=nin) do i=1,max read(1,*,end=111) x(i) enddo 111 close(1) npts=i-1 ** Search the value that is closest to 6.0 diffmin=100000.0 !! give an initial difference do i=1,npts diff=abs(x(i)-6.0) diffmin=amin1(diffmin, diff) if(diff.le.diffmin) result=x(i) enddo write(6,61) result 61 format('The number that is closest to 6.0 is ', f7.2) stop end