我正在开展一个学校项目,我必须制作一个程序,该程序采用1到0之间的随机数,并在班轮图上以左,右或无变化的方式解释。我不明白为什么这个位置常数为0.任何帮助? 这是:
program test
implicit none
integer, dimension(100)::tau
integer, dimension(100)::position=0
real,dimension(100)::x
real::y,a,b
integer::n
a=1/3
b=2/3
do n=1,100
tau(n)=n
call random_number(y)
x(n)=y
end do
position(1)=0
do n=1,100
if (x(n) .le. a) then
position(n)=position(n)+1
else if ((x(n) .gt. a) .and. (x(n) .le. b)) then
position(n)=position(n)-1
else
position(n)=position(n)+0
end if
end do
open(unit=10, file="test.txt")
do n=1,100
write(10,*) tau(n),x(n), position(n)
end do
close(10)
end program test
答案 0 :(得分:1)
问题是你的两个实变量'a'和'b'是由整数常量定义的,所以它们都是零。
更改为:
a=1.0/3.0
b=2.0/3.0