program SortData Implicit None Integer I, J, Position, num_grades Real Grade(1000), temp, Small C Open Files Open(unit=1,file='data.in',type='old') Open(unit=2,file='data.out',type='unknown') C Get Data Do i = 1, 1000000 read(1,*,end=10) Grade(i) end do 10 num_grades = i - 1 C Sort Data Do i = 1 , num_grades - 1 ! start outer loop Small = Grade(i) ! assume current element is smallest Position = i Do j = i+1, num_grades ! consider remainder of array If (Grade(j) .LT. Small) Then ! check if current element Small = Grade(j) ! is smaller than the smallest Position = j ! found thusfar end if end do temp = Grade(Position) ! switch smallest element Grade(Position) = Grade(i) ! with current element Grade(i) = temp end do C Output Data Do i = 1,num_grades write(2,*) Grade(i) end do end