一个日期加上若干天后是什么日期

/*
题目描述
设计一个程序能计算一个日期加上若干天后是什么日期。
输入描述:

输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。

输出描述:

输出m行,每行按yyyy-mm-dd的个数输出
*/
#include<stdio.h>
int main(int argc,char const *argv[])
{
    int n;
    scanf("%d",&n);
    while(n>=0)
    {
        int y,m,d,num;
        scanf("%d %d %d %d",&y,&m,&d,&num);
        int date[12]={31,28,31,30,31,30,31,31,30,31,30,31};
        while(num>0)
        {
            if(num>date[m-1]-d+1)
            {
                
                if(y%400==0||(y%4==0&&y%100!=0))//来判断这一年是否是闰年
                {
                    date[1]=29;
                }else
                {
                    date[1]=28;
                }
                num=num-date[m-1]+d;
                d=0;
                m++;
                if(m==13)
                {
                    y++;
                    m=1;
                }
            }else
            {
                d+=num;
                break;
            }
        }
        printf("%d-%02d-%02d\n",y,m,d);
        n--;
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/lijianmin6/p/10533099.html