program sum_of_array
implicit none
integer :: A(10, 10)
integer :: i, j
integer :: sum = 0
! 初始化数组A,这里假设已有初始化值,实际应用中应根据需求初始化
! 例如 A = reshape((/1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, &
! 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, &
! 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, &
! 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, &
! 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100/), [10, 10])
do i = 1, 10
do j = 1, 10
sum = sum + A(i, j)
end do
end do
print *, '数组所有元素的和为:', sum
end program sum_of_array
外层循环执行逻辑
- 外层循环变量
i
从1到10依次取值。每取一个值,就表示处理数组 A
的一行。当 i = 1
时,处理数组的第一行;当 i = 2
时,处理数组的第二行,以此类推。
内层循环执行逻辑
- 对于外层循环的每一个
i
值,内层循环变量 j
从1到10依次取值。在每一个 i
值下,内层循环会遍历该行的所有列元素。例如,当 i = 1
时,内层循环会依次计算 A(1, 1)
、A(1, 2)
、A(1, 3)
直到 A(1, 10)
并累加到 sum
中;当 i = 2
时,内层循环又会依次计算 A(2, 1)
、A(2, 2)
直到 A(2, 10)
并累加到 sum
中,最终实现对整个二维数组所有元素的求和。