Fortran入门(三)期末复习|IF与循环

一:关系运算符

关系运算符
    .LT      <
    .LE.

     <=

    .EQ.

       = 
    .NE.      /=
    .GT.      >
    .GE.     >=

表格中的两列可以单独使用或混合使用。

A.GE.B
X+Y<Z-W

二:逻辑IF语句

代码示例:

PROGRAM MAIN
REAL X,Y,Z,MAX
READ *,X,Y,Z
MAX = X
IF (MAX<Y) MAX=Y
IF (MAX<Z) MAX=Z
PRINT *,"THE MAX IS:",MAX
END

三:块IF结构

判断水仙花数

PROGRAM SXH
INTEGER  N,N1,N2,N3,S
READ *,N
N1 = MOD(N,10)
N2 = MOD(N/10,10)
N3 = N/100
S = N1*N1*N1 + N2*N2*N2 + N3*N3*N3
IF (S==N) THEN
   PRINT *,N,"是水仙花数"
ELSE
   PRINT *,"不是"
END IF
END

四:块CASE结构

REAL G
READ *,G
SELECT CASE(INT(G))
   CASE(85:100)
      PRINT *,"EXCELLENT"
   CASE(70:84)
      PRINT *,"GOOD'
   CASE(60:69)
      PRINT *,"PASS"
   CASE(:59)
      PRINT *,"FAIL"
   CASE DEFAULT
      PRINT *,"WRONG!"
END SELECT
EDN

五:循环

1:DO循环

循环需要注意三点,首先,在循环体内给循环变量赋值是不被允许的。

第二,在循环体中改变变量的值,循环参数也并不改变

INTEGER X,Y,Z,K
X=1
Y=7
Z=2
DO K=X,Y,Z+1    !第一个参数是起点,第二是终点,第三是步长,是闭区间
  X=2
  Y=Y+K
  Z=Z*K
  PRINT *,K,X,Y,Z
END DO
END

!结果
1 2 9 2
4 2 11 8
7 2 13 56

第三,退出循环后循环变量的值与最后一次循环时循环变量的值不同,多了一个步长

DO K=1,10,2
 L=K
END DO
PRINT *,K,L
END

!结果
11 9

2:DO WHILE循环

INTEGER::N,K=0
READ *,N
DO WHILE (N>0)
  K=K+1
  N=N/10
END DO
PRINT *,"N的位数:",K
END

3:EXIT、CYCLE

使用EXIT语句,循环立即终止,跳出循环体。

CYCLE循环中结束本次循环,即跳过循环体中尚未执行的语句。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值