题解 | #日期累加#

日期累加

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

#include <bits/stdc++.h>

using namespace std;

const int months[]={
	0,31,28,31,30,31,30,31,31,30,31,30,31
};

int is_leap(int year){
	if((year%4==0 && year%100!=0) || year%400 == 0){
		return 1;
	}
	return 0;
}

int get_days(int year, int month){
	int res = months[month];
	if (month == 2){
		res += is_leap(year);
	}
	
	return res;
}

int main(){
	int t;
	cin >> t;
	while (t --){
		int year, month, day, a;
		cin >> year >> month >> day >> a;
		a = a + day; 
		while (a > get_days(year, month)){
			a = a - get_days(year, month);
			month = (month + 1);
			if (month == 13){
				month = 1;
				year ++;
			}
		}
		printf("%04d-%02d-%02d\n", year, month, a);
	}
		 
	return 0;
}

全部评论

相关推荐

09-01 11:31
门头沟学院 Java
buul:七牛云的吧,感觉想法是好的,但是大家没那么多时间弄他这个啊。。。不知道的还以为他是顶尖大厂呢还搞比赛抢hc,只能说应试者的痛苦考察方是无法理解的,他们只会想一出是一出
点赞 评论 收藏
分享
瑞雪兆丰年_:可以贴个超级大的校徽,以防HR眼拙
点赞 评论 收藏
分享
感觉怪怪的,有时候莫名其妙说我适合硬件给我干到硬件开发去
嵌入式的小白:你这主修课程,和项目,都偏硬件啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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