纪念日【日期推导】
程序员文章站
2022-03-14 23:17:34
...
时间限制1000ms 空间限制:131072k
蒜头君和花椰妹谈恋爱啦。祝福他们吧。蒜头君想知道他们的第100天.200天…纪念日
输出格式
输出格式按照yyyy-mm-dd的格式输出k天纪念日的日期。身份和天数必须输出2位。保证最后答案年份不超过4位。
样例输入1
2016 10 1 100
样例输出1
2017-01-09
样例输入2
2017 1 1 10
样例输出2
2017-01-11
分析:只需要模拟日期增长,一天一天进行推导即可,要注意,月份的最大天数和最大只有12个月份的转换
#include<stdio.h>
int main()
{
int y,m,d,k;
int day[13]={-1,31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d %d %d %d",&y,&m,&d,&k);
for(int i=0;i<k;i++)//开始一天一天加
{
if(y%400==0||(y%100!=0&&y%4==0))
{
day[2]=29;
}
else
day[2]=28;
d++;
if(d==day[m]+1)
{
d=1;
m++;
}
if(m==13)
{
m=1;
y++;
}
}
printf("%04d-%02d-%02d",y,m,d);
return 0;
}
上一篇: 使用tkinter实现三子棋游戏