预计阅读时间:5分钟
原题
描述
甲壳虫的《A day in the life》和《Tomorrow never knows》脍炙人口,如果告诉你a day in the life,真的会是tomorrow never knows?相信学了计概之后这个不会是难题,现在就来实现吧。
读入一个格式为yyyy-mm-dd的日期(即年-月-日),输出这个日期下一天的日期。可以假定输入的日期不早于1600-01-01,也不晚于2999-12-30。
输入
输入仅一行,格式为yyyy-mm-dd的日期。
输出
输出也仅一行,格式为yyyy-mm-dd的日期
样例输入
2010-07-05
样例输出
2010-07-06
分析
没什么好分析的。
思路
水题大模拟。
参考代码
#include<iostream>
using namespace std;
int main()
{
int year,month,day;
scanf("%d-%d-%d",&year,&month,&day);
int flag=1;
if(month==1||month==3||month==5||month==7||month==8||month==10)
{
if(day>=31)
{
day=1;
month++;
flag=0;
}
else
{
day++;
}
}
if(month==12&&flag)
{
if(day>=31)
{
month=1;
year++;
day=1;
}
else
{
day++;
}
}
if(month==2&&flag)
{
if((year%4==0&&year%100!=0)||year%400==0)
{
if(day>=29)
{
day=1;
month++;
}
else
{
day++;
}
}
else
{
if(day>=28)
{
day=1;
month++;
}
else
{
day++;
}
}
}
if((month==4||month==6||month==9||month==11)&&flag)
{
if(day>=30)
{
day=1;
month++;
}
else
{
day++;
}
}
printf("%d-%02d-%02d",year,month,day);
return 0;
}
希望本博客对大家有所帮助!