first commit
This commit is contained in:
40
RecurringRainfall/Fortran/recurringrainfall.f90
Normal file
40
RecurringRainfall/Fortran/recurringrainfall.f90
Normal file
@@ -0,0 +1,40 @@
|
||||
function getNextInput() result(Input)
|
||||
implicit none
|
||||
integer :: Input
|
||||
integer :: Reason
|
||||
Reason = 1
|
||||
|
||||
do while (Reason > 0)
|
||||
print *, "Enter rainfall int, 99999 to quit: "
|
||||
read (*,*,IOSTAT=Reason) Input
|
||||
|
||||
if (Reason > 0) then
|
||||
print *, "Invalid input"
|
||||
end if
|
||||
enddo
|
||||
|
||||
end function getNextInput
|
||||
|
||||
program recurringrainfall
|
||||
implicit none
|
||||
real :: currentAverage
|
||||
integer :: currentCount
|
||||
integer :: lastInput
|
||||
integer :: getNextInput
|
||||
|
||||
currentAverage = 0
|
||||
currentCount = 0
|
||||
|
||||
do
|
||||
lastInput = getNextInput()
|
||||
|
||||
if (lastInput == 99999) exit
|
||||
|
||||
currentCount = currentCount + 1
|
||||
currentAverage = currentAverage + (1/real(currentCount))*lastInput - (1/real(currentCount))*currentAverage
|
||||
|
||||
print *, 'New Average: ', currentAverage
|
||||
enddo
|
||||
|
||||
|
||||
end program recurringrainfall
|
||||
Reference in New Issue
Block a user