主题:求助-给数据赋值时正确,但输出后数值变大10倍
请教各位,我在写一个很简单的赋值时遇到一个问题。
DIMENSION XY(2,455)
OPEN(1,FILE='OUT.DAT',STATUS='OLD')
HPB=-25
NG1=311
NG=455
LROB=30
HAT=2.30
NG=455
DO 10 I=1,NG1
XY(1,I)=0.0
XY(2,I)=HPB+0.1*(I-1)
WRITE(1,5) I,XY(1,I),XY(2,I)
5 FORMAT(2X,I3,3X,2F8.2)
10 CONTINUE
WRITE(1,70) XY
DO 30 I=NG1+1,NG
XY(1,I)=LROB
XY(2,I)=HAT-0.1*(I-NG1-1)
WRITE(1,25) I,XY(1,I),XY(2,I)
25 FORMAT(2X,I3,2X,2F8.2)
30 CONTINUE
WRITE(1,70) XY
70 FORMAT(3X,1P6F10.3)
END
-----------------------------------------
以上是我从子程序中挑出来的段落,为了检查,我在各循环赋值时 WRITE一次XY,循环结束再WRITE一次XY。
两次结果不一样,比如在循环中 XY(1,I),XY(2,I)的值分别是 0.00 -25.00
30.00 -2.00
那么循环结束后再写XY,就变为0.00 -250.00
300.00 -20.00
正好变为赋值的10倍,我不太清楚这里面的原因,我用的是I-N规则。
DIMENSION XY(2,455)
OPEN(1,FILE='OUT.DAT',STATUS='OLD')
HPB=-25
NG1=311
NG=455
LROB=30
HAT=2.30
NG=455
DO 10 I=1,NG1
XY(1,I)=0.0
XY(2,I)=HPB+0.1*(I-1)
WRITE(1,5) I,XY(1,I),XY(2,I)
5 FORMAT(2X,I3,3X,2F8.2)
10 CONTINUE
WRITE(1,70) XY
DO 30 I=NG1+1,NG
XY(1,I)=LROB
XY(2,I)=HAT-0.1*(I-NG1-1)
WRITE(1,25) I,XY(1,I),XY(2,I)
25 FORMAT(2X,I3,2X,2F8.2)
30 CONTINUE
WRITE(1,70) XY
70 FORMAT(3X,1P6F10.3)
END
-----------------------------------------
以上是我从子程序中挑出来的段落,为了检查,我在各循环赋值时 WRITE一次XY,循环结束再WRITE一次XY。
两次结果不一样,比如在循环中 XY(1,I),XY(2,I)的值分别是 0.00 -25.00
30.00 -2.00
那么循环结束后再写XY,就变为0.00 -250.00
300.00 -20.00
正好变为赋值的10倍,我不太清楚这里面的原因,我用的是I-N规则。