明白了,谢谢指导。 |
year 是 年 mon 是 月 day 是 日 一年中多少天,就是前 mon-1 个月的天数,加上 日。 比如 3月 5日,就是前2个月的天数,加上5。 |
DaysInYear = sum( DaysInMonth(:mon-1) ) +day 这一句中 sum( DaysInMonth(:mon-1) )是表示某月的天数,后面的day是什么意思呢?可否说说基本思路呢? |
太感谢kyra了,琢磨了2天也没有得到正确的结果,你几分钟就搞定了,高手啊。感觉fortran真是博大精深,以后要多多请教哈。 |
[Fortran] 纯文本查看 复制代码 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, 2024-11-23 18:42