实现求某天的前一天操作
其实每次跟闰年打交道时,都会想起小学数学全区统考时的考题,
问:2100年是否是闰年?当时我们班几乎是全军覆没,老师特别生气地跟我们说,
书上小字部分都有说明,能被4和100整除,但不能被400整除的也不是闰年。我没讲到,你们就不知道看书吗?
当时的情景仍然历历在目,我觉得这辈子,什么是闰年估计我应该不会再出错了。呵呵~
言归正传,看看这题目应该如何来实现呢。可能最传统最常用的方式就是判断是否是闰年?以及大小月来计算吧。呵呵~
最常用的方式就是直接用程序来实现,也比较简单易理解。
程序如下:
void GetYesterday(char* today, string &yesterday)
{
int day = atoi(today + 6);
char buff[9];
strcpy(buff, today+4);
buff[2] = '\0';
int month = atoi(buff);
strcpy(buff, today);
buff[4]='\0';
int year = atoi(buff);
//当为1号时,
if(day == 1)
{
if(month == 1)
{
year -= 1;
month = 12;
day = 31;
}
else
{
month -= 1;
switch(month)
{
case 1:
case 3: