GitHub

求几天后是几月几号1022

题目描述:

已知 2007 年 10 月 10 日,请求出 n 天后是几月几号

输入描述:

多组输入,每组输入为 1 行,为一个正整数 n (1 <= n <= 2000)

输出描述:

对于每组输入,输出格式为 yyyy-mm-dd,输出的值为 n 天后的日期

样例输入:

1

2

样例输出:

2007-10-11

2007-10-12

 

可以一天一天的推算,这个算法需要记忆,

注意最后的日期格式的输出

 1 #include<iostream>
 2 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<<year<<"-"<<0<<month<<"-"<<0<<day<<endl;
53         }
54         else if(month<10&&day>=10){
55             cout<<year<<"-"<<0<<month<<"-"<<day<<endl;
56         }
57         else if(month>=10&&day<10){
58             cout<<year<<"-"<<month<<"-"<<0<<day<<endl;
59         }
60         else{
61             cout<<year<<"-"<<month<<"-"<<day<<endl;
62         }
63     }
64     return 0;
65 }
importance

 

posted @ 2019-06-09 17:21  繁华似锦觅安宁  阅读(600)  评论(0编辑  收藏  举报