! 簡単なサブルーチンの例 PROGRAM main IMPLICIT NONE INTEGER :: i, j, k READ *, i, j, k IF ( i < j ) CALL swap( i, j ) IF ( j < k ) CALL swap( j, k ) IF ( i < j ) CALL swap( i, j ) PRINT *, i, j, k END PROGRAM main ! swapping SUBROUTINE swap( p, q ) IMPLICIT NONE INTEGER :: p, q, r r = p p = q q = r END SUBROUTINE swap