ex0828.f90

来自「Fortran 95程序设计&Code-彭国伦」· F90 代码 · 共 26 行

F90
26
字号
program  ex0828
  implicit none
  integer :: n
  integer, external :: fact
  write(*,*) 'N='
  read(*,*) n
  write(*, "(I2,'! = ',I8)" ) n, fact(n)
  stop
end

recursive integer function fact(n) result(ans)
  implicit none
  integer , intent(in) :: n
  
  if ( n < 0 ) then ! 不合理的输入
	ans = -1        ! 随便设定一个值
	return          ! n不合理, 直接return 
  else if ( n <= 1 ) then
    ans = 1          
    return          ! 不用再向下递归了, return 
  end if
  ! 会执行到这, 代表n>1, 从n*(n-1)!来计算n!
  ans = n * fact(n-1) 
  return
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?