关于Fortran文件读取操作
第一列的意思是几几年第几天,比如81001就是81年第一天,我想实现每年的数据分别提到不同多个文件。我现在已经实现整列提出但是判断年份然后输出到多个文件还不会,有人提供思...
第一列的意思是几几年第几天 ,比如81001 就是81年第一天,我想实现每年的数据分别提到不同多个文件。我现在已经实现整列提出 但是判断年份然后输出到多个文件还不会,有人提供思路是第一列除以1000判断年份,意思我明白。但是刚学编程不久,不知道怎末实现
展开
1个回答
2017-01-31
展开全部
下面的程序只是一部分,不是完整的,在你原来的程序里修改补充下面部分。
integer i,n,d_before,d_now
integer d(n) ! d为日期,有n个数据
real tmin(n)
character*2 dnum
d_before=0
do i=1,n
d_now=d(i)/1000 !求年份
if(d_now.ne.d_before) then
! 当d_now不同于d_before,即d(i)的年份与d(i-1)不同时
if(d_before.ne.0) close(11)
write(dnum,'(i2.2)’) d_now
open(11,file='tmin_'//dnum//'.dat')
!open要write该年份的数据的文件
d_before=d_now
end if
write(11,*) mod(d(i)/1000), tmin(i)
!输出该年份的tmin值,如果不用写日期的话,去除第一项(mod(d(i)/1000),)
end do
close(11)
integer i,n,d_before,d_now
integer d(n) ! d为日期,有n个数据
real tmin(n)
character*2 dnum
d_before=0
do i=1,n
d_now=d(i)/1000 !求年份
if(d_now.ne.d_before) then
! 当d_now不同于d_before,即d(i)的年份与d(i-1)不同时
if(d_before.ne.0) close(11)
write(dnum,'(i2.2)’) d_now
open(11,file='tmin_'//dnum//'.dat')
!open要write该年份的数据的文件
d_before=d_now
end if
write(11,*) mod(d(i)/1000), tmin(i)
!输出该年份的tmin值,如果不用写日期的话,去除第一项(mod(d(i)/1000),)
end do
close(11)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询