implicit none character(80) :: word1,word2 print*,'Give two words'; read*,word1,word2 call reverse(trim(word1),len_trim(word1)) call reverse(trim(word2),len_trim(word2)) print*,trim(word2),' ',trim(word1) end subroutine reverse(word,n) implicit none integer :: i,n character(n) :: word,rword rword='' do i=1,n rword(i:i)=word(n-i+1:n-i+1) end do word=rword end subroutine reverse