[Fortran] 纯文本查看 复制代码
program watersave
implicit none
character*5 filename
integer :: i,k,j,q,flag
integer :: a1, a2, a3 , a5, a6, a7, a8, a9, a10, a11, a12,a13
real*8 :: a4
open(10, file = "D:\a\tem.txt")
do i = 1, 221
read(10, *) filename
flag = 0 !// 每次赋初值
open(11, file = "D:\a\"//filename//".txt")
do k = 1,19358
read(11, *)a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13
do j = 1961, 2013
q = 0
if(a5 == j .and. a8 == 32766) then
q = q+1
if(q>18) then
flag = 1
endif
endif
end do
end do
if(flag == 1) then
close(11, status = "delete")
else
close(11, status = "keep")
endif
end do
end
[Fortran] 纯文本查看 复制代码
read(11, *)a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13
do j = 1961, 2013
q = 0
if(a5 == j .and. a8 == 32766) then
q = q+1
if(q>18) then
flag = 1
endif
endif
end do
[Fortran] 纯文本查看 复制代码
Program Watersave
Implicit None
Character *5 Filename
Integer :: I, K, J, Q, Flag, Curryear
Integer :: A(13)
Real *8 :: A4
Open (10, File='D:\a\tem.txt')
Do I = 1, 221
Read (10, *) Filename
Flag = 0 !// 每次赋初值
Open (11, File='D:\a\'//Filename//'.txt')
Do K = 1, 19358
Read (11, *) A(1:3), A4, A(5:13)
If (K==1) Then !// 如果是第一行
Curryear = A(5)
Q = 0
Else If (A(5)/=Curryear .Or. K==19358) Then !// 如果是新的一年,或者是最后一行
If (Q>18) Then
Flag = 1
Exit
End If
Curryear = A(5) !// 当前年切换到新的一年
Q = 0 !// Q=0 重新计数
End If
If (A(8)==32766) Q = Q + 1
End Do
If (Flag==1) Then
Close (11, Status='delete')
Else
Close (11, Status='keep')
End If
End Do
End Program Watersave