题解 | #打印日期#

打印日期

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;
}
全部评论

相关推荐

码农索隆:单休一个月少休息4天,一年就是48天,平时节假日,别人3天假期,单休的两天
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不亏是提前批,神仙打架,鼠鼠不配了
站队站对牛:现在92都报工艺岗了
投递韶音科技等公司7个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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