作者stanlin1118 (小铁)
看板Fortran
标题[问题] 回圈问题(数值无法变换?)
时间Mon Mar 9 08:45:04 2009
再次麻烦大大帮我看看我的程式到底哪里有问题
里面的小回圈已将最小的i值写出
但是做外面的回圈时里面的回圈坐的数值却是重复做同样的数据
如何让里面的回圈做不同的数据?
请帮我看看哪里有问题
感谢
program work
implicit none
integer i,j,k(100)
REAL r(10),sum,sum1,mean
CALL init_random_seed( )
CALL RANDOM_NUMBER(r)
write(*,*)r
sum1=0.0
do j=1,10
i=1
sum=0.0
do while (sum .LE. 1)
sum=sum+r(i)
i=i+1
end do
write(*,*)i-1
write(*,*)sum
k(j)=i-1
sum1=sum1+k(j)
end do
write(*,*)sum1
end program work
SUBROUTINE init_random_seed()
INTEGER :: i, n, clock
INTEGER, DIMENSION(:), ALLOCATABLE :: seed
CALL RANDOM_SEED(size = n)
ALLOCATE(seed(n))
CALL SYSTEM_CLOCK(COUNT=clock)
seed = clock + 37 * (/ (i - 1, i = 1, n) /)
CALL RANDOM_SEED(PUT = seed)
DEALLOCATE(seed)
END SUBROUTINE
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.131.96.4
1F:推 jsb:因为你的 r 在一开始呼叫乱数以後就固定了啊! 03/09 10:48
2F:→ jsb:是要问这个吗? 03/09 10:49