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 |