Re:fortran求助
请先说明你到底要做什么?Re:fortran求助
in this line:----------------------------
ve(i )=ve(i )+ve(1)
------------------------
i think ve(1) should be ve(i ), be carefult the difference between 'i' and '1'.
Re:fortran求助
ve(i)=ve(i)+ve(1)循环一次,你就多加了一次ve(1),即和共多加了13个ve(1),而且后12个是第一个的两倍。看看是不是这样
Re:fortran求助
贴代码请用code标记,注意缩进,这样比较清楚program vv
real va(100),ve(100)
do i=1,13,1
q=rand()
va(i)=-2.0*log(q)
ve(i)=va(i)**2
ve(i)=ve(i)+ve(1)
write(1,*) i,va(i),ve(i)
enddo
end
要得到代数和,应该加上以前的数值。这样对吧?
program vv
real va(100),ve(0:100)
ve(0) = 0.0
do i = 1,13,1
q = rand()
va(i) = -2.0 * log(q)
ve(i) = va(i)**2
ve(i) = ve(i) + ve(i-1)
write(1,*) i,va(i),ve(i)
enddo
end
Re:fortran求助
其实关键在于要干什么,像这样先定义个ve(100)很容易误导人的。还得多练呀;)Re:fortran求助
to bobbycao:在代码前后加上标记就可以了
页:
[1]