各位高手帮帮忙,这个程序如果不用GOTO语句怎么写呢?
[Fortran] 纯文本查看 复制代码 10 CONTINUE
IF(KX.GT.KSX.AND.KY.GT.KSY) GOTO 70
IF(KX.LE.KSX) THEN
KXI=X(KX,2)
KXJ=X(KX,3)
ENDIF
IF(KY.LE.KSY) THEN
KYI=Y(KY,2)
KYJ=Y(KY,3)
ENDIF
KSZ=KSZ+1
IF(KSZ.EQ.M5) THEN
WRITE(*,*) ' KSZ=M5=',M5,KSX,KSY,' Increase M5(in plus)!'
STOP
ENDIF
IF(KX.GT.KSX) GOTO 40
IF(KY.GT.KSY) GOTO 20
IF(KXI.EQ.KYI.AND.KXJ.EQ.KYJ) GOTO 30
IF(KYI.LT.KXI.OR.(KYI.EQ.KXI.AND.KYJ.LT.KXJ)) GOTO 40
20 Z(KSZ,1)=X(KX,1)
50 Z(KSZ,2)=X(KX,2)
Z(KSZ,3)=X(KX,3)
KX=KX+1
GOTO 10
30 Z(KSZ,1)=X(KX,1)+Y(KY,1)
KY=KY+1
GOTO 50
40 Z(KSZ,1)=Y(KY,1)
Z(KSZ,2)=Y(KY,2)
Z(KSZ,3)=Y(KY,3)
KY=KY+1
GOTO 10
70 CONTINUE
|