分类: C/C++
2012-05-30 18:40:55
上次寒假,室友得瑟地说一起比赛编程,说是题目为输入两个日期,输出结果为它们之间的日期之差。然后谁输了就请吃饭。当时我就说:“deal!”接着搞着搞着,两个人就弄成了平手,然后就没有然后了……
接着就是在参加这个比赛之前的训练时,发现又遇到有关日期问题,问题是问某个日期向后推算是哪天。
就是受到上面等等的启发,有了这文章的创作灵感。
首先可以把日期问题的类型列举出来,如下
1. 两个日期之间计算天数
2. 一个日期往后推算
3. 一个日期往前推算
4. 一个日期往后的一段时间内,统计某种特征日子出现的次数。(比如统计星期一出现过几次,或者有数字2的日子出现过几次等等之类的问题)
在解决以上的问题时,我们必须有以下的思想。
1. 电脑程序有循环的概念,把重复的工作留给程序——我们可以一天一天的累加,并进行判断
2.
进制的概念——普通的加减乘除是十进制,而这里的进制是第i月的天数d[i],只有大于d[i]的时候进一,类比于十进制,就是逢十进一。所以在程序编辑的时候设置12个月的数组是很有必要的,既
month[2][12]={ 31,28,31,30,31,30,31,31,30,31,30,31,31,28,31,30,31,30,31,31,30,31,30,31}
2012.05.18 记