| 
 
	积分695贡献 精华在线时间 小时注册时间2013-3-26最后登录1970-1-1 
 | 
 
 
 楼主|
发表于 2013-4-20 16:21:29
|
显示全部楼层 
| lqouc 发表于 2013-4-20 11:20 同志,才四五万行不要说得那么悲壮吧,循环读取加两层判断就好了,数组怎么会太大?我算全球的六小时间隔站 ...
我的想法就是把文件里的数据读取到数组中,再对数组进行运算。下面是我的程序。编译没有错误。但是运行不出来,能不能帮我看看。。
 
 program main
 
 character filei,fileii
 integer stn(100000),year(100000),mon(100000),day(100000),temp(100000),n
 real sum
 
 filei='SURF_CLI_CHN_MUL_DAY_1348578049292_01.txt'
 fileii='xpj'
 
 sum=0
 
 do i=1,100000
 stn(k)=0
 year(k)=0
 mon(k)=0
 day(k)=0
 temp(k)=0
 enddo
 
 print*,stn
 
 do j=1951,2011
 !write(fileii(1:4),'(i4)') j
 open(2,file=fileii)
 
 do i=1,10
 write(filei(36:37),'(i2)') i
 open(1,file=filei)
 
 do k=1,100000
 read(1,100) stn(k),year(k),mon(k),day(k),temp(k)
 100 format(I5,I7,I5,I7,I12)
 close(1)
 enddo
 
 do k=1,100000
 if(stn(k).eq.56492.and.mon(k).eq.11.and.day(k)<=10.and.temp(k).ne.32766.and.year(k).ne.j)then
 sum=sum+temp(k)
 n=n+1
 endif
 sum=sum/(n*10)
 write(2,*)         j,sum
 enddo
 enddo
 
 close(2)
 enddo
 
 end
 | 
 |