ex0831.f90

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

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

  contains
	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 function fact
end

⌨️ 快捷键说明

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