3.4小节——问题 D: 日期类

题目描述:

编写一个日期类,要求按xxxx-xx-xx 的格式输出日期,实现加一天的操作。

输入

输入第一行表示测试用例的个数m,接下来m行每行有3个用空格隔开的整数,分别表示年月日。测试数据不会有闰年。

输出

输出m行。按xxxx-xx-xx的格式输出,表示输入日期的后一天的日期。

样例输入

2
1999 10 20
2001 1 31

样例输出

1999-10-21
2001-02-01

代码

#include<cstdio>
int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main(){
    int M;
    scanf("%d",&M);
    int y,m,d;
    int nextd;
    while(M--){
        scanf("%d %d %d",&y,&m,&d);
        nextd=0;
        d+=1;                //下一天 
        while(d>0){
            nextd++;
            if(nextd==month[m]+1){
                m++;
                nextd=1;
            }
            if(m==13){
                y++;
                m=1;
            }
            d--;
        }
        printf("%d-%02d-%02d\n",y,m,nextd);
    }
    return 0;
} 
    原文作者:codeup题目解答
    原文地址: https://blog.csdn.net/weixin_42114379/article/details/82284181
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞