2014-03-31 271 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

哦,不要讓輕微的不熟悉的語法阻止你做出你生命中最好的旅程。想想你會錯過的所有其他好處:適當的數組,合適的指針,面向對象等等。 –