Fortran 中的循环求和

Summation in a loop in fortran

假设我有以下数组:[1,2,3,4,5,6,7,8,9,10]
我需要按照以下方式定义一个新数组:
对于 i=1,这个新数组的第一个元素将只有第一个元素的总和(所以 returns 数组的第一个元素)
对于i=2,这个数组的第二个元素是前两个元素的和。 ETC...
然后我需要填写这个数组中的每个总和。
知道怎么做吗?我是 Fortran 的新手,不知道该怎么做,也许有一个函数可以做到。

以下是你想要的。您可以使用显式循环,而不是使用隐式执行循环。

program addup
  implicit none
  integer, allocatable :: a(:), b(:)
  integer i, n
  n = 10
  a = [(i,i=1,n)]
  b = [(sum(a(1:i)),i=1,n)]
  print '(10(I0,1x))', a
  print '(10(I0,1x))', b
end program addup