主题:气象编程循环出数据
integer*4::k,geshu(2513),zuida(77,6)
real*4::station(2513,4),sum1(2513),x30(2513),x50(2513),x(2513),ka(41),cv(2513),w30(2513),w50(2513)
open(1,file="zuida.txt")
open(2,file="station2513.txt")
open(3,file="fengya.txt")
do i=1,77
read(1,*)(zuida(i,j),j=1,6)
enddo
do i=1,2513
read(2,*)(station(i,j),j=1,4)
enddo
a=0.0
ib=0
do j=1,2513
do i=1,77
if(zuida(i,1)==station(j,1))then
a=a+zuida(i,6)
ib=ib+1
if(i==77)then
sum1(j)=a
geshu(j)=ib
else if(zuida(i,1)/=zuida(i+1,1))then
sum1(j)=a
geshu(j)=ib
a=0.0
ib=0
endif
if(geshu(j)>=15)then
x(j)=sum1(j)/geshu(j)
do m=1,geshu(j)
ka(m)=zuida(i,6)/x(j)
enddo
do k=1,geshu(j)
cv(j)=sqrt((ka(k)-1)*(ka(k)-1)/(geshu(j)-1))
enddo
x30(j)=x(j)*0.1*(1+cv(j)*2.14)
w30(j)=x30(j)**2/16.0
x50(j)=x(j)*0.1*(1+cv(j)*2.59)
w50(j)=x50(j)**2/16.0
write(3,*)cv(j),zuida(i,1),x30(j),w30(j),x50(j),w50(j)
endif
endif
enddo
enddo
end
编程出来的结果和答案不一样,附件里面有资料和公式,以及答案,这是一部分数据,后面还要算大量的数据,需要这个程序。谢谢帮忙。
real*4::station(2513,4),sum1(2513),x30(2513),x50(2513),x(2513),ka(41),cv(2513),w30(2513),w50(2513)
open(1,file="zuida.txt")
open(2,file="station2513.txt")
open(3,file="fengya.txt")
do i=1,77
read(1,*)(zuida(i,j),j=1,6)
enddo
do i=1,2513
read(2,*)(station(i,j),j=1,4)
enddo
a=0.0
ib=0
do j=1,2513
do i=1,77
if(zuida(i,1)==station(j,1))then
a=a+zuida(i,6)
ib=ib+1
if(i==77)then
sum1(j)=a
geshu(j)=ib
else if(zuida(i,1)/=zuida(i+1,1))then
sum1(j)=a
geshu(j)=ib
a=0.0
ib=0
endif
if(geshu(j)>=15)then
x(j)=sum1(j)/geshu(j)
do m=1,geshu(j)
ka(m)=zuida(i,6)/x(j)
enddo
do k=1,geshu(j)
cv(j)=sqrt((ka(k)-1)*(ka(k)-1)/(geshu(j)-1))
enddo
x30(j)=x(j)*0.1*(1+cv(j)*2.14)
w30(j)=x30(j)**2/16.0
x50(j)=x(j)*0.1*(1+cv(j)*2.59)
w50(j)=x50(j)**2/16.0
write(3,*)cv(j),zuida(i,1),x30(j),w30(j),x50(j),w50(j)
endif
endif
enddo
enddo
end
编程出来的结果和答案不一样,附件里面有资料和公式,以及答案,这是一部分数据,后面还要算大量的数据,需要这个程序。谢谢帮忙。