PROGRAM aboveavg
!
! Author: Br. David Carlson
!
! Date: March 2, 2000
!
! Revised: May 2, 2004
!
! This program prompts the user to enter the number of data items and then
! asks for the data items (floats). The average of the items is computed and
! printed, and all items above this average are printed.
IMPLICIT NONE
INTEGER, PARAMETER::max = 12
REAL, DIMENSION(max)::item
REAL::average, sum
INTEGER::count, k
WRITE (*, *) 'Enter the number of data items to be processed:'
READ (*, *) count
IF (count > max) THEN
WRITE (*, *) 'Can only handle up to the following number of items: ', max
ELSE IF (count <= 0) THEN
WRITE (*, *) 'Number of data items must be greater than 0.'
ELSE
sum = 0.0
DO k = 1, count
WRITE (*, *) 'Enter a floating point number:'
READ (*, *) item(k)
sum = sum + item(k)
END DO
average = sum / count
WRITE (*, *)
WRITE (*, 100) 'The average of the data items is: ', average
WRITE (*, *)
WRITE (*, *) 'List of above average data items:'
DO k = 1, count
IF (item(k) > average) THEN
WRITE (*, 200) item(k)
END IF
END DO
END IF
100 FORMAT (' ', A, F12.4)
200 FORMAT (' ', T5, F12.4)
END PROGRAM