- 积分
- 10852
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-3-8
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 海soso 于 2016-2-27 15:17 编辑
大大们好 我要算80 年到02年每个站点冬季3个月(12 1 2 )的逐年雾日累加值 原数据是这样的
编了个算的程序有问题 求大神帮看一下!!/(ㄒoㄒ)/ 问题是程序不会报错 就是一直运行 出来的数据过大 而且出的数据一开始是0后来越来越大==
program main
!implicit none
parameter(n=364444) !原文件的行数
parameter(k=678) !站点数
integer i,j,y
!logical flag1,flag2
real staa(n),yr(n),lf(n),df(n),staf(k),sta(k),mn(n)
character c*80
open(1,file='D:\wu\r\5102y678satation.txt') !存数据的文件
do i=1,n
read(1,*)staa(i),yr(i),mn(i),lf(i),df(i)
end do
close(1)
print*,'ok1'
open(2,file='D:\wu\r\sta678.txt') !存678个站号的文件
do i=1,k
read(2,*)sta(i)
end do
close(2)
print*,'ok2'
open(7,file='D:\wu\r\8002annualwin.txt') !写入文件
y=1980
!flag1=(yr(i)==y.and.mn(i)==12)
!flag2=(yr(i)==y+1.and.(mn(i)==1.or.mn(i)==2))
do j=1,k
staf(j)=0
do i=1,n
if((yr(i)==y.and.mn(i)==12).or.(yr(i)==y+1.and.(mn(i)==1.or.mn(i)==2)).and.staa(i)==sta(j)) then !选出冬季3个月
staf(j)=staf(j)+df(i)+lf(i) !求逐年冬季累加值
print*,'ok3'
end if
write(7,*) staf(j)
end do
y=y+1
if (y.eq.2003) then
stop
endif
print*,'ok4'
end do
end
谢谢!!
|
|