全球旧事资料 分类
万年历思路详解
功能描述:输入年份和月份显示出当前月份的日历。想法:1得求出当前月的天数。(这个算法在以前我们前面的练习中都已经实现。)2知道天数后用for循环实现天数的输出(这里遇到两个难点:1当前月的第一天是星期几。也就是第一天从那个位置开始输出2输出的时候在星期六的时候得需要换行。一.重点中的重点:求当月的第一天是星期几。分析:我们怎么才能知道当前月第一天是星期几呢?一开始我们根本无法下手去做,我们可以找一个具体的时间作为参考,我们找1900年的1月1日作为参考因为这一天刚好是星期一。如果我们算出输入的天数与1900年1月1日共相差多少天,我们就可以得出输入月份第一天是星期几。原因:得出了输入的天数与1900年1月1日相差总的天数,用总天数7如果等于0则就是星期天。若是其它的数就是相对应的星期数。例:比如算1900年的1月9日是星期几。就用1月1日到1月9日有多少天7,得出式子:972那九号就是星期二。111213141516171819110星期一星期二11那现在问题又出来了我们要算的是当前日期距1900年1月1日共有多少天。那这个问题我们可以分两个部分开始算1算1900年到该年一共有多少天。用变量yearday代表2算从该年的第一月到该月有多少天。用变量mo
thday代表3两者相加再加一(因为当前的那一天还得加上),就得到了距1900年1月1日的天数。
具体的实现方法:
f1算出这一年是闰年还是平年用个boolea
变量接受(用来作为算当月的天数的条件)。2算1900年到该年一共有多少天yearday可用for循环来实现如果第i年是闰年yearday则加366否则加365。3算该年的第一月到该月有多少天mo
thday用for循环实现:从第一月到该月有多少天mo
thdymo
thdayday当前月的天数里面再用switch判断每个月的天数day(闰年的2月是29天,平年是28天。)现在就算出了总天数yeardaymo
thday1该月的第一天是星期几也就算出来了用总天数7重点二:按格式输出。1若第一天是星期几就用for循环输出几个”t”以对齐日期。2用for循环输出天数(i从到指定的天数day),但当日期是星期六的时候得执行换行操作(依照算星期几的方法应该不难实现)。
fr
好听全球资料 返回顶部