欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

纪念日【日期推导】

程序员文章站 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;
} 
相关标签: 算法竞赛