美文网首页
日期累加

日期累加

作者: HelloSam | 来源:发表于2020-04-03 12:18 被阅读0次
图片.png
图片.png
//抄的
#include<iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    for (int i=0;i<n;i++)
    {
        int y,m,d,num;
        cin>>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)//需要加月甚至加年(先算这个月后面还有几天,加上n是不是还在这个月里,这种情况是不在了需要对月甚至对年做处理了)
            {//以 2008 2 3 30为例
                if(y%400==0||(y%4==0&&y%100!=0))//来判断这一年是否是闰年
                {
                    date[1]=29;//2月有29天
                }else
                {
                    date[1]=28;//平年有28天
                }
                num=num-date[m-1]+d;
                d=0;
                m++;
                if(m==13)
                {
                    y++;
                    m=1;
                }
            }else//这种情况是类似于2008 2 3 10这种,先算这个月后面还有几天,加上n是不是还在这个月里,这种情况是是在这个月里,上面的情况是不在这个月里了
            {
                d+=num;//2008 2 3 10 -> 2008 2 13,已经计算完了,直接跳出循环,主要是上面麻烦
                break;
            }
        }
        printf("%d-%02d-%02d\n",y,m,d);
    }
    return 0;
}

相关文章

  • 日期累加

  • Excel[SQL]实现按日期累加

    参考代码1:根据a.日期,和b表日期比较,遍历(逐条数据查找b.日期)只要是小于等于a.日期的收入数据,就累加求和...

  • java日期相关处理

    1.去重,累加,排序 2.日期相关操作 ``` python import tensorflow as tf pr...

  • 11.10

    累加求和 累加求和(二) 累加求和(三) 输入求和

  • 累加

    求数列2/3,4/5,6/7,...前30项的和 该数列的通项为2n/(2n+1),n=1,2,3,...,30

  • 累加

    定义 定义整数n,如果n小于0,则计算从n到0累加得值,如果n大于0,则计算0到n得累加值 Java递归实现 Ja...

  • 11·10

    作业一:累加求和 作业二:累加求和(二) 作业三:累加求和(三)

  • 作业17-11-10

    累加求和 累加求和(二) 累加求和(三) 输入求和 看结果写程序

  • 17-11-10

    累加求和 累加求和(二) 累加求和(三) 输入求和 看结果写程序

  • Spark累加器

    1. spark 累加器的原理: 2. 系统累加器 2. 自定义累加器(实现单词统计的累加)

网友评论

      本文标题:日期累加

      本文链接:https://www.haomeiwen.com/subject/bktfphtx.html