题解 | #打印日期#

打印日期

http://www.nowcoder.com/practice/b1f7a77416194fd3abd63737cdfcf82b

#include<cstdio>
#include<iostream>

using namespace std;

int dayTable[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}
};

bool IsLeapYear(int year) {
	if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
		return true;
	}
	return false;
}

int main() {
	int year,month,day;
	int number;     //天数
	while(scanf("%d%d",&year,&number) != EOF){
		month = 0;    //将月份初始化成0
		int row = IsLeapYear(year);
		while(number > dayTable[row][month]){
			number -= dayTable[row][month];
			month += 1;
		}
		day = number;
		printf("%04d-%02d-%02d\n",year,month,day);
	}
	return 0;
}
全部评论

相关推荐

04-10 11:56
如皋中学 Java
高斯林的信徒:双c9能简历挂的?
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务