blob: 4fc52c510a720eb1fb09bccdbc780d7fa5cf576f [file] [log] [blame]
program bottles
implicit none
integer :: nbottles
do nbottles = 99, 1, -1
call print_bottles(nbottles)
end do
contains
subroutine print_bottles(n)
implicit none
integer, intent(in) :: n
write(*, "(I0, 1X, 'bottles of beer on the wall,')") n
write(*, "(I0, 1X, 'bottles of beer.')") n
write(*, "('Take one down, pass it around,')")
write(*, "(I0, 1X, 'bottles of beer on the wall.', /)") n - 1
end subroutine print_bottles
end program bottles