filwZ
发表于 2014-3-7 13:53:56
chuxf 发表于 2014-3-7 13:36
别人给你写的代码,你不能完全拷贝,要根据自己的情况稍作修改。别人的代码只是思路,而不是确定的解决方 ...
嗯,我就把文件的名字改了,好的,谢谢你
filwZ
发表于 2014-3-9 11:46:10
chuxf 发表于 2014-3-7 13:36
别人给你写的代码,你不能完全拷贝,要根据自己的情况稍作修改。别人的代码只是思路,而不是确定的解决方 ...
还有点疑问,就是如果这半个月的数据都是不满足条件的话,<12,>3000的时候,程序就跳过了这半个月?
楚香饭
发表于 2014-3-9 11:51:42
filwZ 发表于 2014-3-9 11:46
还有点疑问,就是如果这半个月的数据都是不满足条件的话,3000的时候,程序就跳过了这半个月? ...
是的,因为没有满足条件的,所以无法平均。
filwZ
发表于 2014-3-9 13:07:15
chuxf 发表于 2014-3-9 11:51
是的,因为没有满足条件的,所以无法平均。
有没有办法让他读完以后也输出一行平均数为0的结果呢?
楚香饭
发表于 2014-3-9 13:08:49
filwZ 发表于 2014-3-9 13:07
有没有办法让他读完以后也输出一行平均数为0的结果呢?
有办法,修改很简单。请你尝试自己修改,如有问题再追问。
filwZ
发表于 2014-3-9 13:29:09
chuxf 发表于 2014-3-9 13:08
有办法,修改很简单。请你尝试自己修改,如有问题再追问。
哦,我算出来了。else if (( c==0) .and. (yearlast/=-1))then
a = 0
c = 0
write(13,*) yearlast , monlast , a , c
楚香饭
发表于 2014-3-9 13:33:19
filwZ 发表于 2014-3-9 13:29
哦,我算出来了。else if (( c==0) .and. (yearlast/=-1))then
a = 0
c = 0
很好,别人给你写代码只是提供一种思路。
其实一个问题的确定,几句话说不清楚,很多特殊情况下你的需求不一定都要靠别人帮你实现。
能自己举一反三的学习,才值得鼓励!你很棒!
filwZ
发表于 2014-3-9 13:35:04
chuxf 发表于 2014-3-9 13:33
很好,别人给你写代码只是提供一种思路。
其实一个问题的确定,几句话说不清楚,很多特殊情况下你的需求 ...
谢谢你:-)
filwZ
发表于 2014-3-9 20:05:47
chuxf 发表于 2014-3-9 13:33
很好,别人给你写代码只是提供一种思路。
其实一个问题的确定,几句话说不清楚,很多特殊情况下你的需求 ...
Program main
Implicit None
real::v,w,pd12,py12
integer::year1,year2,mon1,c1,c2
open(1,file='pd12.dat')
open(2,file='py12.dat')
open(3,file='canshu.dat')
do
read(2,*)year2,py12,c2
do
read(1,*)year1,mon1,pd12,c1
if((year1==year2).and.(pd12/=0.0))then
w=0.8363+181.77/pd12+244.55/py12
v=21.586*w**(-7.1891)
elseif((year1==year2).and.(pd12==0.0))then
w=0.0
v=0.0
if (year1/=year2)exit
end if
write(3,'(1x,i5,i5,f10.1,f10.1)')year1,mon1,w,v
end do
end do
close(1)
close(2)
close(3)
end program
filwZ
发表于 2014-3-9 20:06:38
本帖最后由 filwZ 于 2014-3-9 20:13 编辑
filwZ 发表于 2014-3-9 20:05
Program main
Implicit None
real::v,w,pd12,py12
我运行这个程序说有个断点,能帮我看下吗?我要算的是当取一个年平均值py2的时候,没半个月有一个pd12,带入公式算出w和v,
当半月的平均值为0时,就直接为0了。可是我编出这个程序老说这个有断点。