2014-03-31 142 views
0

如何编写(0>x<1)即在FORTRAN中x必须介于0和1之间。 (0 .GE. x .LE. 1) or (x .GE. 0 And x .LE. 1)是吗? 谢谢大于或小于等于

回答

0

如果您想进行多个比较,则需要使用.and.

此外,.GE..LE.会给你大于/等于和小于/等于。 你想用.gt.(大于)和.lt.(小于):

program cmp 
    real :: x(1:4) = (/0.25,0.5,0.75,1.0/) 
    do i=1,4 
    if (x(i) .gt. 0 .and. x(i) .lt. 1) then 
     print *, x(i), "in range" 
    else 
     print *, x(i), "out of range" 
    endif 
    enddo 
end program cmp 

输出:

0.250000000  in range 
    0.500000000  in range 
    0.750000000  in range 
    1.00000000  out of range 
-2

X .GT。 0 AND x .LT。 1

我希望我帮你了:)

+0

这并不提供语法正确的Fortran,关键字'和'是没有包围不全停止,* ie *'.and.'。 –

3

你可以写这样的:总是

x .GT. 0 .AND. x .LT. 1 

个人而言,这些天我会使用关系运算符的现代形式,我喜欢我低于/大于表达式有V形开口的权利,所以我会写你的表达

0 < x .AND. x < 1 
+0

+1,这会教我远离C到fortran –

+0

哦,不要让轻微的不熟悉的语法阻止你做出你生命中最好的旅程。想想你会错过的所有其他好处:适当的数组,合适的指针,面向对象等等。 –