program ch0709
! variables used are
! mean - for the running mean
! ssq - the running corrected sum of squares
! x - input values for which
! mean and sd required
! w - local work variable
! sd - standard deviation
! r - another work variable
implicit none
real :: mean = 0.0, ssq = 0.0, x, w, sd, r
integer :: i, n
print *, ' enter the number of readings'
read *, n
print *, ' enter the ', n, ' values, one per line'
do i = 1, n
read *, x
w = x - mean
r = i - 1
mean = (r*mean+x)/i
ssq = ssq + w*w*r/i
end do
sd = (ssq/r)**0.5
print *, ' mean is ', mean
print *, ' standard deviation is ', sd
end program ch0709