题目描述:
已知 2007 年 10 月 10 日,请求出 n 天后是几月几号
输入描述:
多组输入,每组输入为 1 行,为一个正整数 n (1 <= n <= 2000)
输出描述:
对于每组输入,输出格式为 yyyy-mm-dd,输出的值为 n 天后的日期
样例输入:
1
2
样例输出:
2007-10-11
2007-10-12
可以一天一天的推算,这个算法需要记忆,
注意最后的日期格式的输出
1 #include2 using namespace std; 3 int main(){ 4 int n; 5 while(cin>>n){ 6 int year=2007; 7 int month=10; 8 int day=10; 9 for(int i=1;i<=n;i++){10 day=day+1;11 switch(month){12 case 1:13 case 3:14 case 5:15 case 7:16 case 8:17 case 10:18 case 12:19 if(day==32){20 month=month+1;21 day=1;22 }23 if(month==13){24 year=year+1;25 month=1; 26 }break;27 case 2:28 if((year%4==0&&year%100!=0)||year%400==0){29 if(day==30){30 month=month+1;31 day=1;32 }33 }34 else{35 if(day==29){36 month=month+1;37 day=1;38 } 39 }break;40 default:41 if(day==31){42 month=month+1;43 day=1;44 }45 if(month==13){46 year=year+1;47 month=1;48 }break;49 }50 }51 if(month<10&&day<10){52 cout< <<"-"<<0< <<"-"<<0< < =10){55 cout< <<"-"<<0< <<"-"< < =10&&day<10){58 cout< <<"-"< <<"-"<<0< <