- 积分
- 691
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 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 |
|