Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
implicit real*8(a-h,o-z)
character you(7)*3
you(1)="月"
you(2)="火"
you(3)="水"
you(4)="木"
you(5)="金"
you(6)="土"
you(7)="日"
!2021年から出力する場合、2024年の閏年でiu=4にしたいから、
!初期値(2020年)はiu=4にしておく
iu=4 !iu=4の年が閏年
iy=5 !2021/1/1の曜日 iy=1:月〜iy=7:日
do in=1,20
iu=iu+1
if(iu==5) iu=1
write(*,'(i4,a3)') 2020+in,'年'
!
!
call hiniti(1,31,you,iy,iu)
if(iu==4) then
iowari=29
else
iowari=28
end if
call hiniti(2,iowari,you,iy,iu)
call hiniti(3,31,you,iy,iu)
call hiniti(4,30,you,iy,iu)
call hiniti(5,31,you,iy,iu)
call hiniti(6,30,you,iy,iu)
call hiniti(7,31,you,iy,iu)
call hiniti(8,31,you,iy,iu)
call hiniti(9,30,you,iy,iu)
call hiniti(10,31,you,iy,iu)
call hiniti(11,30,you,iy,iu)
call hiniti(12,31,you,iy,iu)
!
end do
end
!
subroutine hiniti(ig,iowari,you,iy,iu)
dimension kyuuzitu(12,31)
character you(7)*3
call yasumi(kyuuzitu)
write(*,'(a3,i2,a3,a3)') '***',ig,'月','***'
n7=0
ny=1
!
i=1
if((kyuuzitu(ig,i)==1).or.(iy==7)) then
write(*,'(i2,a1,a3,a1)') i,'(',you(iy),')'
else
write(*,'(i2,a1,a3,a1)') i,' ',you(iy),' '
end if
call youbi(iy,n7,ny,ig,iu,kyuuzitu,i)
do i=2,iowari
if((kyuuzitu(ig,i-1)==1).and.(iy==1)) then
write(*,'(i2,a1,a3,a1)') i,'(',you(iy),')'
else if((kyuuzitu(ig,i)==1).or.(iy==7)) then
write(*,'(i2,a1,a3,a1)') i,'(',you(iy),')'
else
write(*,'(i2,a1,a3,a1)') i,' ',you(iy),' '
end if
call youbi(iy,n7,ny,ig,iu,kyuuzitu,i)
end do
return
end
!
subroutine youbi(iy,n7,ny,ig,iu,kyuuzitu,i)
dimension kyuuzitu(12,31)
iy=iy+1
n7=n7+1
if(iy==8) iy=1
if(n7==7) then
ny=ny+1
n7=0
end if
! 1月第2月曜:成人の日
if((ig==1).and.(ny==2).and.(iy==1)) then
kyuuzitu(1,i)=1
end if
! 春分の日
if((iu==4).or.(iu==1)) then
kyuuzitu(3,20)=1
else
kyuuzitu(3,21)=1
end if
! 秋分の日
if(iu==4) then
kyuuzitu(9,22)=1
else
kyuuzitu(9,23)=1
end if
! 7月第3月曜日:海の日
if((ig==7).and.(ny==3).and.(iy==1)) then
kyuuzitu(7,i)=1
end if
! 9月第3月曜日:敬老の日
if((ig==9).and.(ny==3).and.(iy==1)) then
kyuuzitu(9,i)=1
end if
! 10月第2月曜日:体育の日
if((ig==10).and.(ny==2).and.(iy==1)) then
kyuuzitu(10,i)=1
end if
return
end
!
subroutine yasumi(kyuuzitu)
dimension kyuuzitu(12,31)
do i=1,12
do j=1,31
kyuuzitu(i,j)=0
end do
end do
kyuuzitu(1,1)=1 !元日
kyuuzitu(2,11)=1 !建国記念の日
kyuuzitu(2,23)=1 !天皇誕生日
kyuuzitu(4,29)=1 !昭和の日
kyuuzitu(5,3)=1 !憲法記念日
kyuuzitu(5,4)=1 !みどりの日
kyuuzitu(5,5)=1 !こどもの日
kyuuzitu(8,11)=1 !山の日
kyuuzitu(11,3)=1 !文化の日
kyuuzitu(11,23)=1!勤労感謝の日
!kyuuzitu(12,23)=1
return
end