题解 | 日期累加

日期累加

https://www.nowcoder.com/practice/eebb2983b7bf40408a1360efb33f9e5d

#include <stdio.h>
int panduan(int year)
{
    return (year%4==0&&year%100!=0)||(year%400==0);
}
int dayTab[2][13]={
    {0,31,28,31,30,31,30,31,31,30,31,30,31},
    {0,31,29,31,30,31,30,31,31,30,31,30,31}
};
int main() {
   int m;
   scanf("%d",&m);
   while(m--)
   {
    int year,month,day,number;
    scanf("%d %d %d %d",&year,&month,&day,&number);
    int row=panduan(year);
    int number_1=number+day;
    while(number_1>dayTab[row][month])
    {
        number_1-=dayTab[row][month];
        month++;
        if(month>12)//跨年处理
        {
            month=1;
            year++;
            row=panduan(year);//重新判断是不是闰年
        }
    }
    printf("%04d-%02d-%02d\n",year,month,number_1);

   }
    return 0;
}

全部评论

相关推荐

鲸鸿:实习协议不用管签多久,要走的时候提前三天说就可以了
点赞 评论 收藏
分享
不知道怎么取名字_:看来现在卷的,这种单位都开始提高要求了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务