fortran问题,输入年月日输出该日期是这一年的第几天

fortran输入年月日输出该日期是这一年的第几天,不不不是c++

https://blog.csdn.net/Genius_zz/article/details/78104634

!************************************************************
! 功能: 返回当前日期是今年的第几天
! 返回值: GetDayOrder(2字节整型),
! 输入参数: year,month,day(均为2字节整型),分别代表!
! 年、月、日
!************************************************************
function GetDayOrder(year,month,day)
implicit none
integer(2),intent(in) :: year
integer(1),intent(in) :: month,day
integer(1),parameter :: cd(11)=(/31,28,31,30,31,30,31,31,30,31,30/)
integer(2) GetDayOrder
integer(1) i

GetDayOrder=day
do i=1,month-1
    GetDayOrder=GetDayOrder+cd(i)
end do
if(month>2.and.leapyear(year)) GetDayOrder=GetDayOrder+1

end function GetDayOrder

!************************************************************
! 功能: 判断是否闰年
! 返回值: LeapYear(1字节逻辑型),闰年则返回.true.
! 输入参数: year(2字节整型),代表年份
!************************************************************
function LeapYear(year)
implicit none
integer(2),intent(in) :: year
logical(1) LeapYear

if(mod(year,4)/=0) then
    LeapYear=.false.
else if(mod(year,100)/=0) then
    LeapYear=.true.
else if(mod(year,400)/=0) then
    LeapYear=.false.
else
    LeapYear=.true. 
end if

end function LeapYear