主题:帮我看看这个程序
这个程序运行完成后生成的 res.dat,每次运行后不能覆盖,只能在下一次运行程序前删除res.dat,才会生成新的res.dat文件。
不知道为什么,麻烦知道的帮我看看!!!谢谢了
REAL A(420,10),B(420,10)
INTEGER STAR,END
INTEGER M,N
WRITE(*,*)'INPUT STAR NUMBER'
READ(*,*) STAR
WRITE(*,*)'INPUT END NUMBER'
READ(*,*) END
OPEN(UNIT=1,FILE='data.dat',STATUS='OLD')
OPEN(UNIT=2,FILE='res.dat',STATUS='NEW')
READ(1,*)((A(I,K),K=1,10),I=1,END)
M=1
N=1
DO 10 I=STAR,END
DO 20 K=1,10
B(I,K)=A(I,K)/10
20 CONTINUE
10 CONTINUE
MAX=ABS(A(1,1))/10
DO 30 I=STAR,END
DO 40 K=1,10
IF(MAX.LT.ABS(A(I,K))/10) MAX=ABS(A(I,K))/10
40 CONTINUE
30 CONTINUE
WRITE(2,*)'MAX=',MAX
WRITE(2,2)((B(I,K),K=1,10),I=STAR,END)
2 FORMAT(2F12.5)
CLOSE(1)
CLOSE(2)
END
不知道为什么,麻烦知道的帮我看看!!!谢谢了
REAL A(420,10),B(420,10)
INTEGER STAR,END
INTEGER M,N
WRITE(*,*)'INPUT STAR NUMBER'
READ(*,*) STAR
WRITE(*,*)'INPUT END NUMBER'
READ(*,*) END
OPEN(UNIT=1,FILE='data.dat',STATUS='OLD')
OPEN(UNIT=2,FILE='res.dat',STATUS='NEW')
READ(1,*)((A(I,K),K=1,10),I=1,END)
M=1
N=1
DO 10 I=STAR,END
DO 20 K=1,10
B(I,K)=A(I,K)/10
20 CONTINUE
10 CONTINUE
MAX=ABS(A(1,1))/10
DO 30 I=STAR,END
DO 40 K=1,10
IF(MAX.LT.ABS(A(I,K))/10) MAX=ABS(A(I,K))/10
40 CONTINUE
30 CONTINUE
WRITE(2,*)'MAX=',MAX
WRITE(2,2)((B(I,K),K=1,10),I=STAR,END)
2 FORMAT(2F12.5)
CLOSE(1)
CLOSE(2)
END