如何在 Fortran 的主程序中使用维度 x(n)?

How to use dimension x(n) in main program in Fortran?

我想 x(1),x(2),x(3),...,x(n) 使用 Fortran 中的维度。

示例:

n=10 
dimension x(n) 
do n=1,10
print*,x(n)
enddo
stop
end

但据我所知是不允许的...
我得到这个错误:

symbol N is not permitted in a specification expression Errors in declarations, no further processing for main

如何制作x(1),x(2),x(3),...,x(n)

最好是拿一本好的教科书来学习 Fortran,看看 Fortran 语言有什么可能性。

有多种方法,例如使用可分配的:

integer, parameter :: n=10 
double precision :: x(:)
integer :: i
allocate(x(n))

do i=1,n
  x(i) = i
enddo

do i=1,n
  print*,x(i)
enddo

end

或使用固定数组:

integer, parameter :: n=10 
double precision :: x(n
integer :: i


do i=1,n
  x(i) = i
enddo

do i=1,n
  print*,x(i)
enddo

end