Fortran 按顺序生成一对数字
我需要一些使用FORTRAN代码生成订单中的数字对的帮助 顺序如下 回路1:Fortran 按顺序生成一对数字,fortran,Fortran,我需要一些使用FORTRAN代码生成订单中的数字对的帮助 顺序如下 回路1: 1,2,3,4,5,6,7,8。。。。。直到我才知道fortran,但是这个伪代码可能会帮助您: let i := 1 let n := 1 while i <= 100 do while n <= 2000 do print n n := n + i print ",", n, " " done print "\n" i := i + 1 done 设i:=1
1,2,3,4,5,6,7,8。。。。。直到我才知道fortran,但是这个伪代码可能会帮助您:
let i := 1
let n := 1
while i <= 100 do
while n <= 2000 do
print n
n := n + i
print ",", n, " "
done
print "\n"
i := i + 1
done
设i:=1
设n:=1
而我这是一种方法编辑:格式正确
program loopJump
implicit none
!
integer :: i,j,k
integer :: loopend
character(len=*),parameter :: fmt1 = "('loop_',I1,' ',I4)"
character(len=*),parameter :: fmt2 = "(', ',I4,', ',I4 )"
do k = 1, 6
write(*,fmt1,advance='NO') k,1
loopend = (2000-1)/k
do i = 1, loopend
j=1+i*k
write(*,fmt2,advance='NO') j,j
enddo
write(*,fmt="(2X)")
enddo
stop
end program
EDIT2:仔细观察后,Kerrek SB似乎通过上面的评论回答了这个问题。使用该方法,循环将如下所示:
do k = 1, 6
write(*,fmt1,advance='NO') k,1
do i = k+1, 20, k
write(*,fmt2,advance='NO') i,i
enddo
write(*,fmt="(2X)")
enddo
您的内部变量i
必须在内部循环中按k
前进,而不是按1前进。您的想法也帮助了我。谢谢
do k = 1, 6
write(*,fmt1,advance='NO') k,1
do i = k+1, 20, k
write(*,fmt2,advance='NO') i,i
enddo
write(*,fmt="(2X)")
enddo