| 明白了,谢谢指导。 |
|
year 是 年 mon 是 月 day 是 日 一年中多少天,就是前 mon-1 个月的天数,加上 日。 比如 3月 5日,就是前2个月的天数,加上5。 |
|
DaysInYear = sum( DaysInMonth(:mon-1) ) +day 这一句中 sum( DaysInMonth(:mon-1) )是表示某月的天数,后面的day是什么意思呢?可否说说基本思路呢? |
太感谢kyra了,琢磨了2天也没有得到正确的结果,你几分钟就搞定了,高手啊。感觉fortran真是博大精深,以后要多多请教哈。![]() |
|
[Fortran] syntaxhighlighter_viewsource syntaxhighlighter_copycode Program fcode_demo
Implicit none
integer :: y , m , d , t
Open(12,File="in.txt")
Open(13,File="out.txt")
Do
read( 12 , * , ioStat = t ) y , m , d
if ( t/= 0 ) exit
write( 13 , * ) y , m , d , DaysInYear( y , m , d )
End Do
Close(12)
Close(13)
contains
Integer Function DaysInYear( year , mon , day )
Integer :: year , mon , day
Integer :: DaysInMonth(12) = [31,28,31,30,31,30,31,31,30,31,30,31]
if ( ( (MOD(year,4)==0).and.(MOD(year,100)/=0) ) .or. (mod(year,400)==0) ) then
DaysInMonth(2) = 29
else
DaysInMonth(2) = 28
end if
DaysInYear = sum( DaysInMonth(:mon-1) ) + day
End Function DaysInYear
End Program fcode_demo |
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2025-11-3 11:50