Fortran 板


LINE

之前大一时留下的纪录 既然有人需要 就给个参考吧 Program Calendar !------------- [程式说明] ------------- !简介: 万年历程式 (执行後在萤幕上提示使用者利用键盘输入所需资料, 最後输出结果) !输入: 1. 西元年份 (Year) ! 2. 月份 (Month) !输出: 西元 Year 年 Month 月之月历 ! !------------- [变数宣告] ------------- IMPLICIT NONE ! ***** 资料 ***** INTEGER, DIMENSION(12) :: Days_of_Monthes = & ! 阵列: 每个月的天数 (/ 31,28,31,30,31,30,31,31,30,31,30,31 /) ! ***** 输入 ***** INTEGER :: Year, Month ! 年份, 月份 ! ***** 输入 ***** CHARACTER(LEN=4), DIMENSION(31) :: Days ! 文字格式的日期 (长度皆为4个字元 ) CHARACTER(LEN=28) :: Title, Space, Bar ! 月历标头文字, 空白字串 ! ***** 暂存 ***** INTEGER :: Day, Leap ! 星期几, 闰年年数 INTEGER :: Sum_Of_Days, Last_Row ! 天数总和, 月历最後一列之天数 INTEGER :: I ! 回圈计数器 !------------- [设定变数初始值] ------------- Title = " SUN MON TUE WED THU FRI SAT"A Bar = " ===========================" Space = " " ! ***** 文字格式的日期 (Part III 用到) ***** Days(1) = " 1" Days(2) = " 2" Days(3) = " 3" Days(4) = " 4" Days(5) = " 5" Days(6) = " 6" Days(7) = " 7" Days(8) = " 8" Days(9) = " 9" Days(10) = " 10" Days(11) = " 11" Days(12) = " 12" Days(13) = " 13" Days(14) = " 14" Days(15) = " 15" Days(16) = " 16" Days(17) = " 17" Days(18) = " 18" Days(19) = " 19" Days(20) = " 20" Days(21) = " 21" Days(22) = " 22" Days(23) = " 23" Days(24) = " 24" Days(25) = " 25" Days(26) = " 26" Days(27) = " 27" Days(28) = " 28" Days(29) = " 29" Days(30) = " 30" Days(31) = " 31" !------------- [程式开始] ------------- !------------- [ Part 0: 使用者输入资料] ------------- WRITE(*,*) " " WRITE(*,'(1X, A,$)') "请输入年份 (西元): " READ(*,*) Year WRITE(*,'(1X, A,$)') "请输入月份 (1~12): " READ(*,*) Month WRITE(*,*) " " !------------- [ Part I: 闰年判断] ------------- IF(MOD(Year,400)==0) Then Days_of_Monthes(2)=29 ELSE IF(MOD(Year,4)==0.AND.MOD(Year,100)/=0) THEN Days_of_Monthes(2)=29 END IF !------------- [ Part II: 计算给定年份之元旦为星期几] ------------- ! ***** 前提: 西元元年(0001)的第一天是"星期一(Monday)" ***** Sum_Of_Days = 0 Year = Year - 1 ! 准备计算前 Year-1 年的总 天数 Leap = Year/4-Year/100+Year/400 ! 前 Year-1 年中, 闰年的年 数 Sum_Of_Days = 366*Leap + 365*(Year-Leap) ! 计算前 Year-1 年的总天数 DO I=1,Month-1 Sum_Of_Days = Sum_Of_Days + Days_of_Monthes(I) ! 加上第 Year 年的前 Month-1 月天数 END DO Day = MOD(Sum_Of_Days+1,7) ! 求出 Year/Month 的 1 号 为星期几 !------------- [ Part III: 输出月历] ------------- Year = Year + 1 ! 回复至使用者输入的年份值 WRITE(*,*) " 西元",Year,"年",Month,"月" WRITE(*,*) Bar WRITE(*,*) Title WRITE(*,*) Space(1:Day*4), Days(1:7-Day) ! 月历的第一行只能再印出 7-Day 天 DO I=7-Day+1, Days_of_Monthes(Month), 7 ! 月历第二行从 7-Day+1 日开始印, 每 7 天即换行 Last_Row = Days_of_Monthes(Month)-I IF(Last_Row>=7) THEN ! 判断最後一行是否小於 7 天 WRITE(*,*) Days(I:I+6) ! 1. 大於等於 7 天: 全部印出 ELSE ! 2. 小於七天: 印出剩余天数 WRITE(*,*) Days(I:I+Last_Row) END IF END DO WRITE(*,*) Bar WRITE(*,*) " " PAUSE END PROGRAM -- 18173 12/09 - □ (本文已被吃掉) 吃光光,口卡口卡 18174 12/09 - □ (本文已被吃掉) 18175 12/09 - □ (本文已被吃掉) 18176 12/09 - □ (本文已被吃掉) ▼▼▼▼ 18177 12/09 - □ (本文已被吃掉) ▲▲▲▲ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.42.214.194
1F:推 lrfnc:You are my hero!!..I love you!! 04/14 19:14
2F:推 flyuktw:I love you too! 06/13 00:02







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP