我在这个程序中遇到很多麻烦 当两个连续数的除法与金黄色素比率之差小于10e-6时,该斐波那契数列应停止。 不幸的是,该程序会自动进入暂停状态,因此我认为我的while状态中正在发生某些事情。有什么建议吗?
program fibonacci
implicit none
integer::a,b,c,i
real::dif
real,parameter::e=10e-6,aurea=((1+sqrt(5.))/2.)
a=0;
b=1;
i=0;
dif=0;
do while (dif<e)
dif=abs((b/a)-aurea)
if (i==0) then
print*, a
else if (i==1) then
print*,b
else
c=a+b
print*,c
a=b
b=c
end if
end do
pause
end program fibonacci