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
假设我有以下数组:[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